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

gh-156400: Close the socket or pipe when transport creation fails in asyncio datagram/pipe endpoints by tonghuaroot · Pull Request #156401 · python/cpython · GitHub

/ cpython Public

gh-156400: Close the socket or pipe when transport creation fails in asyncio datagram/pipe endpoints - #156401

Open
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:gh-156400-datagram-pipe-transport-error
Open

gh-156400: Close the socket or pipe when transport creation fails in asyncio datagram/pipe endpoints#156401
tonghuaroot wants to merge 1 commit into
python:mainfrom
tonghuaroot:gh-156400-datagram-pipe-transport-error

Conversation

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

Copy link
Copy Markdown
Contributor

create_datagram_endpoint(), connect_read_pipe() and connect_write_pipe() create or take ownership of a socket/pipe and then run protocol_factory() and transport creation. The only cleanup (except: transport.close()) covers await waiter, so if protocol_factory() or _make_*_transport() raises the resource is never closed and leaks until garbage collection.

Close the socket/pipe on that path, matching the create_connection() fix in gh-153133. 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