FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

gh-156365: Fix socket leak and stalled accept in the asyncio proactor server by tonghuaroot · Pull Request #156366 · python/cpython · GitHub

/ cpython Public

gh-156365: Fix socket leak and stalled accept in the asyncio proactor server - #156366

Open
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:gh-156365-proactor-accept-transport-error
Open

gh-156365: Fix socket leak and stalled accept in the asyncio proactor server#156366
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:gh-156365-proactor-accept-transport-error

Conversation

tonghuaroot commented Aug 25, 2026
edited by bedevere-app Bot
Loading

Copy link
Copy Markdown
Contributor

BaseProactorEventLoop._start_serving() ran protocol_factory() and transport creation in the accept callback guarded only by except OSError / except CancelledError. A per-connection failure therefore leaked the accepted socket and either stopped the accept loop (non-OSError) or closed the listening socket (OSError).

Wrap the per-connection setup so the accepted socket is closed and the error is reported to the loop exception handler, while accept-stage errors keep their existing handling. This is the proactor counterpart of gh-155934 (selector) and gh-153133 (create_connection).

The added regression tests fail without the fix and pass with it; the full test_asyncio suite passes.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant


Back | FazBrowse Home | New Git URL