René's URL Explorer Experiment


Title: make fork + exec non blocking on unix by Martiusweb · Pull Request #428 · python/asyncio · GitHub

Open Graph Title: make fork + exec non blocking on unix by Martiusweb · Pull Request #428 · python/asyncio

X Title: make fork + exec non blocking on unix by Martiusweb · Pull Request #428 · python/asyncio

Description: Dear all, Following the bug #414, here is a patch which makes the fork + exec operation non blocking on Unix. The patch is probably not ready to land, but I believe it's in pretty good shape. This...

Open Graph Description: Dear all, Following the bug #414, here is a patch which makes the fork + exec operation non blocking on Unix. The patch is probably not ready to land, but I believe it's in pretty good shape. ...

X Description: Dear all, Following the bug #414, here is a patch which makes the fork + exec operation non blocking on Unix. The patch is probably not ready to land, but I believe it's in pretty good sha...

Opengraph URL: https://github.com/python/asyncio/pull/428

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:ce900ea0-c1e4-0ee6-dfb5-bb61983f25c6
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idEE46:19A1E9:80D877A:AB05E6A:696DFFB0
html-safe-nonce966618e117bb9b5613aa9fd704e32caedd8517a1ab038fad414ed7f93ed43c48
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRTQ2OjE5QTFFOTo4MEQ4NzdBOkFCMDVFNkE6Njk2REZGQjAiLCJ2aXNpdG9yX2lkIjoiNDYwNDU3NjkxMzAxODQ1MzkzNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac1f7721a6b909be53a6979b30ef6091410342a90d6a9b3944085dbbb751286fdc
hovercard-subject-tagpull_request:86753853
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/python/asyncio/428/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/890b663f62895a30db4cc67e794adace6971533653ab4637b1a4b0fa96e53e2f/python/asyncio/pull/428
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/890b663f62895a30db4cc67e794adace6971533653ab4637b1a4b0fa96e53e2f/python/asyncio/pull/428
og:image:altDear all, Following the bug #414, here is a patch which makes the fork + exec operation non blocking on Unix. The patch is probably not ready to land, but I believe it's in pretty good shape. ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameMartiusweb
hostnamegithub.com
expected-hostnamegithub.com
None4922b452d03cd8dbce479d866a11bc25b59ef6ee2da23aa9b0ddefa6bd4d0064
turbo-cache-controlno-preview
go-importgithub.com/python/asyncio git https://github.com/python/asyncio.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id33739295
octolytics-dimension-repository_nwopython/asyncio
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id33739295
octolytics-dimension-repository_network_root_nwopython/asyncio
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7e5ae23c70136152637ceee8d6faceb35596ec46
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/python/asyncio/pull/428#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fasyncio%2Fpull%2F428
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fasyncio%2Fpull%2F428
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=python%2Fasyncio
Reloadhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
Reloadhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
Reloadhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
python https://patch-diff.githubusercontent.com/python
asynciohttps://patch-diff.githubusercontent.com/python/asyncio
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fpython%2Fasyncio
Fork 185 https://patch-diff.githubusercontent.com/login?return_to=%2Fpython%2Fasyncio
Star 1.1k https://patch-diff.githubusercontent.com/login?return_to=%2Fpython%2Fasyncio
Code https://patch-diff.githubusercontent.com/python/asyncio
Issues 76 https://patch-diff.githubusercontent.com/python/asyncio/issues
Pull requests 10 https://patch-diff.githubusercontent.com/python/asyncio/pulls
Actions https://patch-diff.githubusercontent.com/python/asyncio/actions
Projects 0 https://patch-diff.githubusercontent.com/python/asyncio/projects
Wiki https://patch-diff.githubusercontent.com/python/asyncio/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/python/asyncio/security
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
Insights https://patch-diff.githubusercontent.com/python/asyncio/pulse
Code https://patch-diff.githubusercontent.com/python/asyncio
Issues https://patch-diff.githubusercontent.com/python/asyncio/issues
Pull requests https://patch-diff.githubusercontent.com/python/asyncio/pulls
Actions https://patch-diff.githubusercontent.com/python/asyncio/actions
Projects https://patch-diff.githubusercontent.com/python/asyncio/projects
Wiki https://patch-diff.githubusercontent.com/python/asyncio/wiki
Security https://patch-diff.githubusercontent.com/python/asyncio/security
Insights https://patch-diff.githubusercontent.com/python/asyncio/pulse
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
python:masterhttps://patch-diff.githubusercontent.com/python/asyncio/tree/master
Martiusweb:non_blocking_popenhttps://patch-diff.githubusercontent.com/Martiusweb/asyncio/tree/non_blocking_popen
make fork + exec non blocking on unix https://patch-diff.githubusercontent.com/python/asyncio/pull/428#top
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
python:masterhttps://patch-diff.githubusercontent.com/python/asyncio/tree/master
Martiusweb:non_blocking_popenhttps://patch-diff.githubusercontent.com/Martiusweb/asyncio/tree/non_blocking_popen
Conversation 9 https://patch-diff.githubusercontent.com/python/asyncio/pull/428
Commits 7 https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits
Checks 0 https://patch-diff.githubusercontent.com/python/asyncio/pull/428/checks
Files changed https://patch-diff.githubusercontent.com/python/asyncio/pull/428/files
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/python/asyncio/pull/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/Martiusweb
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
Sep 26, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issue-179245373
#414https://github.com/python/asyncio/issues/414
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/gvanrossum
gvanrossumhttps://patch-diff.githubusercontent.com/gvanrossum
Sep 26, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-249608514
@gpsheadhttps://github.com/gpshead
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/gvanrossum
gvanrossumhttps://patch-diff.githubusercontent.com/gvanrossum
Sep 26, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-249611908
@Martiuswebhttps://github.com/Martiusweb
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/1st1
1st1https://patch-diff.githubusercontent.com/1st1
Sep 26, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-249612608
@gvanrossumhttps://github.com/gvanrossum
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/Martiusweb
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
Sep 27, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-249883170
http://bugs.python.org/issue28287http://bugs.python.org/issue28287
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
November 8, 2016 17:50https://patch-diff.githubusercontent.com/python/asyncio/pull/428#commits-pushed-8fef3fe
https://patch-diff.githubusercontent.com/Martiusweb
make fork + exec non blocking on unixhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/8fef3fe7317390a3b1f61dfebaff541e23811633
8fef3fehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/8fef3fe7317390a3b1f61dfebaff541e23811633
https://patch-diff.githubusercontent.com/Martiusweb
compatibility with Python 3.3https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/6aa4e300b0d45a8cbf38ffa96aa473fddd580ebb
6aa4e30https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/6aa4e300b0d45a8cbf38ffa96aa473fddd580ebb
https://patch-diff.githubusercontent.com/Martiusweb
preexec_fn not supported on windowshttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/71cf40645e41d83e89261df70197f2ed39945d03
71cf406https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/71cf40645e41d83e89261df70197f2ed39945d03
https://patch-diff.githubusercontent.com/Martiusweb
handle asynchronous exceptions when creating SubprocessTransporthttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/a77c0ffe1a41e6fe076aaa87ea299a20ec80f8b5
a77c0ffhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/a77c0ffe1a41e6fe076aaa87ea299a20ec80f8b5
https://patch-diff.githubusercontent.com/Martiusweb
errpipe_read must be non-blockinghttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/0cf2e73a93c9d0b99698ae2fcceaad9fdf9e4bae
0cf2e73https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/0cf2e73a93c9d0b99698ae2fcceaad9fdf9e4bae
https://patch-diff.githubusercontent.com/Martiusweb
make asyncio backward compatible with older Popenhttps://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/ef41fc838a00ce182f58bd36b487e2fa7039d4ce
ef41fc8https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/ef41fc838a00ce182f58bd36b487e2fa7039d4ce
https://patch-diff.githubusercontent.com/the-knights-who-say-ni
the-knights-who-say-nihttps://patch-diff.githubusercontent.com/the-knights-who-say-ni
Nov 9, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-259385842
bugs.python.orghttp://bugs.python.org/
create onehttp://bugs.python.org/user?@template=register
PSF contributor agreementhttps://www.python.org/psf/contrib/contrib-form/
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/Martiusweb
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
force-pushedhttps://patch-diff.githubusercontent.com/python/asyncio/compare/875b00e50f403ad9d34b3c38ec4e22829c6d6859..ef41fc838a00ce182f58bd36b487e2fa7039d4ce
875b00ehttps://patch-diff.githubusercontent.com/python/asyncio/commit/875b00e50f403ad9d34b3c38ec4e22829c6d6859
ef41fc8https://patch-diff.githubusercontent.com/python/asyncio/commit/ef41fc838a00ce182f58bd36b487e2fa7039d4ce
Compare https://patch-diff.githubusercontent.com/python/asyncio/compare/875b00e50f403ad9d34b3c38ec4e22829c6d6859..ef41fc838a00ce182f58bd36b487e2fa7039d4ce
November 9, 2016 10:48https://patch-diff.githubusercontent.com/python/asyncio/pull/428#event-852799947
https://patch-diff.githubusercontent.com/Martiusweb
drop the mockey-patch of Popen in python 3.3https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/b3a81e057ae161e67189e4768c62725593fee8cb
b3a81e0https://patch-diff.githubusercontent.com/python/asyncio/pull/428/commits/b3a81e057ae161e67189e4768c62725593fee8cb
https://patch-diff.githubusercontent.com/Martiusweb
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
Nov 9, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-259388206
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
@the-knights-who-say-nihttps://github.com/the-knights-who-say-ni
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/gvanrossum
gvanrossumhttps://patch-diff.githubusercontent.com/gvanrossum
Nov 9, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-259455510
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/Martiusweb
Martiuswebhttps://patch-diff.githubusercontent.com/Martiusweb
Nov 9, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-259456405
http://bugs.python.org/issue28287http://bugs.python.org/issue28287
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/gvanrossum
gvanrossumhttps://patch-diff.githubusercontent.com/gvanrossum
Nov 9, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#issuecomment-259469928
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/brettcannon
brettcannonhttps://patch-diff.githubusercontent.com/brettcannon
CLA not signed https://patch-diff.githubusercontent.com/python/asyncio/issues?q=state%3Aopen%20label%3A%22CLA%20not%20signed%22
CLA not signed https://patch-diff.githubusercontent.com/python/asyncio/issues?q=state%3Aopen%20label%3A%22CLA%20not%20signed%22
Nov 18, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#event-863715654
https://patch-diff.githubusercontent.com/the-knights-who-say-ni
the-knights-who-say-nihttps://patch-diff.githubusercontent.com/the-knights-who-say-ni
CLA signed https://patch-diff.githubusercontent.com/python/asyncio/issues?q=state%3Aopen%20label%3A%22CLA%20signed%22
Nov 18, 2016https://patch-diff.githubusercontent.com/python/asyncio/pull/428#event-863715745
https://patch-diff.githubusercontent.com/soonum
soonumhttps://patch-diff.githubusercontent.com/soonum
Nov 27, 2017 https://patch-diff.githubusercontent.com/python/asyncio/pull/428#ref-issue-277036054
Blocking loop.subprocess_shell() and loop.subprocess_exec() MagicStack/uvloop#118 https://patch-diff.githubusercontent.com/MagicStack/uvloop/issues/118
Sign up for freehttps://patch-diff.githubusercontent.com/join?source=comment-repo
Sign inhttps://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fasyncio%2Fpull%2F428
CLA signed https://patch-diff.githubusercontent.com/python/asyncio/issues?q=state%3Aopen%20label%3A%22CLA%20signed%22
Please reload this pagehttps://patch-diff.githubusercontent.com/python/asyncio/pull/428
https://patch-diff.githubusercontent.com/Martiusweb
https://patch-diff.githubusercontent.com/gvanrossum
https://patch-diff.githubusercontent.com/1st1
https://patch-diff.githubusercontent.com/the-knights-who-say-ni
https://patch-diff.githubusercontent.com/brettcannon
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.