René's URL Explorer Experiment


Title: bpo-33613, test_semaphore_tracker_sigint: fix race condition by pablogsal · Pull Request #7850 · python/cpython · GitHub

Open Graph Title: bpo-33613, test_semaphore_tracker_sigint: fix race condition by pablogsal · Pull Request #7850 · python/cpython

X Title: bpo-33613, test_semaphore_tracker_sigint: fix race condition by pablogsal · Pull Request #7850 · python/cpython

Description: Fail test_semaphore_tracker_sigint if no warnings are expected and one is received. Fix race condition when the child receives SIGINT before it can register signal handlers for it. The race condition occurs when the parent calls _semaphore_tracker.ensure_running() (which in turn spawns the semaphore_tracker using _posixsubprocess.fork_exec), the child registers the signal handlers and the parent tries to kill the child. What seems to happen is that in some slow systems, the parent sends the signal to kill the child before the child protects against the signal. There is no reliable and portable solution for the parent to wait until the child has register the signal handlers to send the signal to kill the child so a sleep is introduced between the spawning of the child and the parent sending the signal to give time to the child to register the handlers. https://bugs.python.org/issue33613

Open Graph Description: Fail test_semaphore_tracker_sigint if no warnings are expected and one is received. Fix race condition when the child receives SIGINT before it can register signal handlers for it. The race conditi...

X Description: Fail test_semaphore_tracker_sigint if no warnings are expected and one is received. Fix race condition when the child receives SIGINT before it can register signal handlers for it. The race conditi...

Opengraph URL: https://github.com/python/cpython/pull/7850

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:eb60af34-5a69-a07e-d294-207aa4b1fc10
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD538:24BC9A:483D6CC:641D6B4:6A54EA0E
html-safe-nonce7f530f38d54487c70ffbe8524ef3999ef27982dddd6fe7aa583cbade41a2a302
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENTM4OjI0QkM5QTo0ODNENkNDOjY0MUQ2QjQ6NkE1NEVBMEUiLCJ2aXNpdG9yX2lkIjoiNDk5NDY1NjQ4NTc4NTI2NjcwMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmace71b9719891d99eb0f4fe8d73763f3360d044bf6e12f935dc78de6badb5f05bb
hovercard-subject-tagpull_request:196583492
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///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/7850/files
twitter:imagehttps://avatars.githubusercontent.com/u/11718525?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/11718525?s=400&v=4
og:image:altFail test_semaphore_tracker_sigint if no warnings are expected and one is received. Fix race condition when the child receives SIGINT before it can register signal handlers for it. The race conditi...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneeae2aab99907699a22d2c8449aa683ca74454fca87211b98f7c7b722086b2839
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasebb1b4ffdc07c66de20ad344214f55df0aa364bd3
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/7850/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F7850%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
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
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
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/enterprise/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://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F7850%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/7850/files
Reloadhttps://github.com/python/cpython/pull/7850/files
Reloadhttps://github.com/python/cpython/pull/7850/files
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
pitrouhttps://github.com/pitrou
python:masterhttps://github.com/python/cpython/tree/master
pablogsal:bpo33613https://github.com/pablogsal/cpython/tree/bpo33613
Conversation 84 https://github.com/python/cpython/pull/7850
Commits 21 https://github.com/python/cpython/pull/7850/commits
Checks 0 https://github.com/python/cpython/pull/7850/checks
Files changed https://github.com/python/cpython/pull/7850/files
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
bpo-33613, test_semaphore_tracker_sigint: fix race condition https://github.com/python/cpython/pull/7850/files#top
Show all changes 21 commits https://github.com/python/cpython/pull/7850/files
5f1df08 bpo-33613, test_semaphore_tracker_sigint: fix race condition pablogsal Jun 20, 2018 https://github.com/python/cpython/pull/7850/commits/5f1df0887c1daefd137e66a90943d2afa292e8fb
4f9babb Implement PONG command in the semaphore tracker pablogsal Jun 24, 2018 https://github.com/python/cpython/pull/7850/commits/4f9babb13f980fd6e8420d38ce4471a1f355f1cf
26d81a3 Ensure the tracker is killed to allow multiple testing runs in the sa… pablogsal Jun 24, 2018 https://github.com/python/cpython/pull/7850/commits/26d81a39959bb650364e755e30ec653f5b5b81ad
a7d5c59 fixup! Ensure the tracker is killed to allow multiple testing runs in… pablogsal Jul 1, 2018 https://github.com/python/cpython/pull/7850/commits/a7d5c597c6c951e63289cb4b5a5efa526ad9f5c5
a735d49 fixup! fixup! Ensure the tracker is killed to allow multiple testing … pablogsal Jul 7, 2018 https://github.com/python/cpython/pull/7850/commits/a735d492b27dccedc69cd89e072d1a0ea7079f47
9460da4 fixup! fixup! fixup! Ensure the tracker is killed to allow multiple t… pablogsal Jul 24, 2018 https://github.com/python/cpython/pull/7850/commits/9460da4c04df77842ef84e61041886fc15960c69
fb136d0 Use a buffered writer to answer to the PING command pablogsal Jul 24, 2018 https://github.com/python/cpython/pull/7850/commits/fb136d004d65f416485c95e576ad67feb05f150b
f3d0f0b Use the tracker own stderr for answering the PING command pablogsal Jul 24, 2018 https://github.com/python/cpython/pull/7850/commits/f3d0f0bb72faa9df0806d662b9c80ff97d0c1856
f5e5cf9 Use pthread_sigmask to avoid the race condition pablogsal Jul 27, 2018 https://github.com/python/cpython/pull/7850/commits/f5e5cf904e640997dbb3bf5d7eaef3d7e850e790
4393021 Add comment explaining the race condition pablogsal Jul 27, 2018 https://github.com/python/cpython/pull/7850/commits/4393021fdf9737bea74813dcaf445b5a54014e2a
d501f2f Restore timeout and use os.waitpid pablogsal Jul 31, 2018 https://github.com/python/cpython/pull/7850/commits/d501f2fd97697ccad711e341f7ec0f0183c3b66e
9e0243e fixup! Restore timeout and use os.waitpid pablogsal Jul 31, 2018 https://github.com/python/cpython/pull/7850/commits/9e0243e169e8ec34b1c8917a0d5c9b1050989586
26e077b Add News entry pablogsal Jul 31, 2018 https://github.com/python/cpython/pull/7850/commits/26e077bc00aaf0f7ebcecb206a3882dc41be0b47
a50912b fixup! fixup! Restore timeout and use os.waitpid pablogsal Jul 31, 2018 https://github.com/python/cpython/pull/7850/commits/a50912b194a13cf665cfeab1162094bed4b4f4bf
bcbb942 fixup! Add News entry pablogsal Jul 31, 2018 https://github.com/python/cpython/pull/7850/commits/bcbb94285ad0b640ee0a530e85d89a13a8966383
0b46f07 fixup! fixup! fixup! Restore timeout and use os.waitpid pablogsal Aug 1, 2018 https://github.com/python/cpython/pull/7850/commits/0b46f07ab0fc4f0d3323966609e1e6f92bf3c88a
66ef7dc Unregister sigmask if process fails to start pablogsal Aug 3, 2018 https://github.com/python/cpython/pull/7850/commits/66ef7dca4496868a8fe6b04b83ac288d6fb27180
f7d2d4d Include the signal registering in the try block pablogsal Sep 3, 2018 https://github.com/python/cpython/pull/7850/commits/f7d2d4d454fa5aab0c994248f499153b4230f0be
4a09fde Simplify comment when handling ChildProcessError pablogsal Sep 3, 2018 https://github.com/python/cpython/pull/7850/commits/4a09fde6e64cd5608ca9e17c74b2baaf1050d181
c9f96c1 Eliminate hardcoded reference to the bug tracker url pablogsal Sep 3, 2018 https://github.com/python/cpython/pull/7850/commits/c9f96c1edcaadafd5a2039c876a05b4ec0bbbcda
c0a088c Remove extraneous NEWS file pitrou Sep 4, 2018 https://github.com/python/cpython/pull/7850/commits/c0a088c26ebb3ac7c9d7a1ebc8c99792f1f82dac
Clear filters https://github.com/python/cpython/pull/7850/files
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
semaphore_tracker.py https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
_test_multiprocessing.py https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
2018-07-31-23-33-06.bpo-33613.Cdnt0i.rst https://github.com/python/cpython/pull/7850/files#diff-a8db6b9d486fdedc2858c32a5136afa843070a69527ab60ee1ad580a8239906c
Lib/multiprocessing/semaphore_tracker.pyhttps://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
View file https://github.com/pablogsal/cpython/blob/c0a088c26ebb3ac7c9d7a1ebc8c99792f1f82dac/Lib/multiprocessing/semaphore_tracker.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/7850/{{ revealButtonHref }}
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
https://github.com/python/cpython/pull/7850/files#diff-86209dc00f04cec9a8a9628a37b8d279cbed67f3f61dc142da6a6c7c7d74e729
Lib/test/_test_multiprocessing.pyhttps://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
View file https://github.com/pablogsal/cpython/blob/c0a088c26ebb3ac7c9d7a1ebc8c99792f1f82dac/Lib/test/_test_multiprocessing.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/7850/{{ revealButtonHref }}
https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
Please reload this pagehttps://github.com/python/cpython/pull/7850/files
https://github.com/python/cpython/pull/7850/files#diff-c3db62f7c1928499afd71830c22c8bb8f56843a4533cecf69137973d73c489fc
Misc/NEWS.d/next/Library/2018-07-31-23-33-06.bpo-33613.Cdnt0i.rsthttps://github.com/python/cpython/pull/7850/files#diff-a8db6b9d486fdedc2858c32a5136afa843070a69527ab60ee1ad580a8239906c
View file https://github.com/pablogsal/cpython/blob/c0a088c26ebb3ac7c9d7a1ebc8c99792f1f82dac/Misc/NEWS.d/next/Library/2018-07-31-23-33-06.bpo-33613.Cdnt0i.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/7850/{{ revealButtonHref }}
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.