Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
python
/
cpython
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
35.4k
Star
77.2k
Code
Issues
5k+
Pull requests
2.6k
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
gh-156920, gh-156698: fix ProactorEventLoop datagram transport hangs on close() and after write errors
- #156921
#156921
Open
graingert
wants to merge 23 commits into
python:main
python/cpython:main
from
graingert:fix-proactor-close-flush
graingert/cpython:fix-proactor-close-flush
Copy head branch name to clipboard
Conversation
Commits
23
(23)
Checks
Files changed
Open
gh-156920, gh-156698: fix ProactorEventLoop datagram transport hangs on close() and after write errors
#156921
graingert
wants to merge 23 commits into
python:main
python/cpython:main
from
graingert:fix-proactor-close-flush
graingert/cpython:fix-proactor-close-flush
Copy head branch name to clipboard
Commits
Commits on Sep 1, 2026
fix proactor error hang
Show description for 3006d6e
graingert
committed
3006d6e
View commit details
Copy full SHA for 3006d6e
Browse repository at this point
Commits on Sep 4, 2026
Merge branch 'main' into fix-proactor-error-hang
graingert
authored
60187dd
View commit details
Copy full SHA for 60187dd
Browse repository at this point
fix DatagramTransport when errror_recieved calls sendto
graingert
committed
d57cb23
View commit details
Copy full SHA for d57cb23
Browse repository at this point
gh-156920: fix ProactorEventLoop datagram transports drop buffered datagrams on close() and never call connection_lost()
graingert
committed
f843371
View commit details
Copy full SHA for f843371
Browse repository at this point
Commits on Sep 5, 2026
Merge branch 'main' of github.com:python/cpython into fix-proactor-error-hang
Show description for bb80478
graingert
committed
bb80478
View commit details
Copy full SHA for bb80478
Browse repository at this point
Merge branch 'fix-proactor-error-hang' into fix-proactor-close-flush
Show description for 0db5dd3
graingert
committed
0db5dd3
View commit details
Copy full SHA for 0db5dd3
Browse repository at this point
Update Lib/asyncio/proactor_events.py
Show description for 37a9b5b
graingert
and
kumaraditya303
authored
37a9b5b
View commit details
Copy full SHA for 37a9b5b
Browse repository at this point
Commits on Sep 6, 2026
Merge branch 'main' into fix-proactor-error-hang
graingert
authored
d8f9aae
View commit details
Copy full SHA for d8f9aae
Browse repository at this point
don't resume a closed transport
graingert
committed
9eda8d0
View commit details
Copy full SHA for 9eda8d0
Browse repository at this point
Commits on Sep 7, 2026
Merge branch 'main' into fix-proactor-error-hang
graingert
authored
9fcd45c
View commit details
Copy full SHA for 9fcd45c
Browse repository at this point
add test for close called in error_recieved
graingert
committed
4822ab7
View commit details
Copy full SHA for 4822ab7
Browse repository at this point
Merge branch 'fix-proactor-error-hang' into fix-proactor-close-flush
Show description for ce2168b
graingert
committed
ce2168b
View commit details
Copy full SHA for ce2168b
Browse repository at this point
Revert "add test for close called in error_recieved"
Show description for b52b945
graingert
committed
b52b945
View commit details
Copy full SHA for b52b945
Browse repository at this point
add test_datagram_write_error_close_from_callback
graingert
committed
d4ee8a9
View commit details
Copy full SHA for d4ee8a9
Browse repository at this point
Commits on Sep 11, 2026
use SHORT_TIMEOUT instead of hardcoded 10
graingert
committed
b74ffb3
View commit details
Copy full SHA for b74ffb3
Browse repository at this point
Merge branch 'main' into fix-proactor-error-hang
graingert
authored
01b328a
View commit details
Copy full SHA for 01b328a
Browse repository at this point
Merge branch 'fix-proactor-error-hang' into fix-proactor-close-flush
graingert
committed
b43d1fc
View commit details
Copy full SHA for b43d1fc
Browse repository at this point
drop datagram write-error tests that pass without the fix
Show description for 55706b8
graingert
committed
55706b8
View commit details
Copy full SHA for 55706b8
Browse repository at this point
Merge branch 'main' into fix-proactor-close-flush
graingert
authored
92d347c
View commit details
Copy full SHA for 92d347c
Browse repository at this point
check self._closing in Datagram _loop_reading
graingert
committed
757a9fb
View commit details
Copy full SHA for 757a9fb
Browse repository at this point
Commits on Sep 12, 2026
Apply suggestion from @kumaraditya303
Show description for 386268a
graingert
and
kumaraditya303
authored
386268a
View commit details
Copy full SHA for 386268a
Browse repository at this point
Merge branch 'main' into fix-proactor-close-flush
graingert
authored
5d6ac18
View commit details
Copy full SHA for 5d6ac18
Browse repository at this point
replace arm with schedule
Show description for 1adb870
graingert
authored
1adb870
View commit details
Copy full SHA for 1adb870
Browse repository at this point
You can’t perform that action at this time.