René's URL Explorer Experiment


Title: gh-114271: Make `_thread.lock` thread-safe in free-threaded builds by mpage · Pull Request #116433 · python/cpython · GitHub

Open Graph Title: gh-114271: Make `_thread.lock` thread-safe in free-threaded builds by mpage · Pull Request #116433 · python/cpython

X Title: gh-114271: Make `_thread.lock` thread-safe in free-threaded builds by mpage · Pull Request #116433 · python/cpython

Description: Previously, the locked field was set after releasing the lock. This reverses the order so that the locked field is set while the lock is still held. There is still one thread-safety issue where loc...

Open Graph Description: Previously, the locked field was set after releasing the lock. This reverses the order so that the locked field is set while the lock is still held. There is still one thread-safety issue where loc...

X Description: Previously, the locked field was set after releasing the lock. This reverses the order so that the locked field is set while the lock is still held. There is still one thread-safety issue where loc...

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

X: @github

direct link

Domain: github.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:01f03a23-75e1-9a27-b131-279334b26f12
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE78A:31006B:A4C478:DFBB9F:696ABC44
html-safe-nonce429d1bc1c73a15901cc45896a36cd9b4ed5f72abe0f608893501adc6a19abc93
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNzhBOjMxMDA2QjpBNEM0Nzg6REZCQjlGOjY5NkFCQzQ0IiwidmlzaXRvcl9pZCI6IjYyNTQ4MjAwNTUyODc3NzQyNzYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac5032a24425e3a6d0a124ad2a7df67524bca7baf8754d80170bd31277aeff38c7
hovercard-subject-tagpull_request:1759648562
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/cpython/116433/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/d57d45e2b419eb174c87ec4564b49877f8c8eb3d0b24d5ecdea2a93f6761b483/python/cpython/pull/116433
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/d57d45e2b419eb174c87ec4564b49877f8c8eb3d0b24d5ecdea2a93f6761b483/python/cpython/pull/116433
og:image:altPreviously, the locked field was set after releasing the lock. This reverses the order so that the locked field is set while the lock is still held. There is still one thread-safety issue where loc...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamempage
hostnamegithub.com
expected-hostnamegithub.com
None46ce962e0e18113ea447391b6ace8b02d4d2861e57b4fbab3658698f73d8855b
turbo-cache-controlno-preview
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release30300f30bb3949de255e84a146706a3bdb5c19c9
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/116433#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F116433
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://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F116433
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/116433
Reloadhttps://github.com/python/cpython/pull/116433
Reloadhttps://github.com/python/cpython/pull/116433
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/116433
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k 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.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/116433
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 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
Jump to bottomhttps://github.com/python/cpython/pull/116433#issue-comment-box
colesburyhttps://github.com/colesbury
python:mainhttps://github.com/python/cpython/tree/main
mpage:gh-114271-_thread-lock-partialhttps://github.com/mpage/cpython/tree/gh-114271-_thread-lock-partial
gh-114271: Make _thread.lock thread-safe in free-threaded builds https://github.com/python/cpython/pull/116433#top
colesburyhttps://github.com/colesbury
python:mainhttps://github.com/python/cpython/tree/main
mpage:gh-114271-_thread-lock-partialhttps://github.com/mpage/cpython/tree/gh-114271-_thread-lock-partial
Conversation 3 https://github.com/python/cpython/pull/116433
Commits 1 https://github.com/python/cpython/pull/116433/commits
Checks 0 https://github.com/python/cpython/pull/116433/checks
Files changed https://github.com/python/cpython/pull/116433/files
Please reload this pagehttps://github.com/python/cpython/pull/116433
https://github.co/hiddenchars
https://github.com/python/cpython/pull/{{ revealButtonHref }}
https://github.com/mpage
mpagehttps://github.com/mpage
Mar 6, 2024https://github.com/python/cpython/pull/116433#issue-2172316124
Please reload this pagehttps://github.com/python/cpython/pull/116433
Make _threadmodule.c thread-safe in --disable-gil builds #114271https://github.com/python/cpython/issues/114271
Please reload this pagehttps://github.com/python/cpython/pull/116433
https://github.com/mpage
pythongh-114271https://github.com/python/cpython/issues/114271
: Make the common usage ofhttps://github.com/python/cpython/pull/116433/commits/880afcfcc505f106dbc5d4873c7099eb1cd5b940
_thread.lockhttps://github.com/python/cpython/pull/116433/commits/880afcfcc505f106dbc5d4873c7099eb1cd5b940
thread-safe …https://github.com/python/cpython/pull/116433/commits/880afcfcc505f106dbc5d4873c7099eb1cd5b940
880afcfhttps://github.com/python/cpython/pull/116433/commits/880afcfcc505f106dbc5d4873c7099eb1cd5b940
https://github.com/apps/bedevere-app
bedevere-apphttps://github.com/apps/bedevere-app
Mar 6, 2024 https://github.com/python/cpython/pull/116433#ref-issue-2089260333
Make _threadmodule.c thread-safe in --disable-gil builds #114271 https://github.com/python/cpython/issues/114271
https://github.com/mpage
mpagehttps://github.com/mpage
topic-free-threading https://github.com/python/cpython/issues?q=state%3Aopen%20label%3Atopic-free-threading
skip news https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22skip%20news%22
Mar 6, 2024https://github.com/python/cpython/pull/116433#event-12032875828
https://github.com/mpage
mpagehttps://github.com/mpage
colesburyhttps://github.com/colesbury
March 6, 2024 20:27https://github.com/python/cpython/pull/116433#event-12033157718
https://github.com/mpage
mpagehttps://github.com/mpage
March 6, 2024 20:27https://github.com/python/cpython/pull/116433#event-12033160681
https://github.com/apps/bedevere-app
bedevere-apphttps://github.com/apps/bedevere-app
awaiting review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22
Mar 6, 2024https://github.com/python/cpython/pull/116433#event-12033161181
https://github.com/colesbury
colesburyhttps://github.com/colesbury
Mar 6, 2024 https://github.com/python/cpython/pull/116433#pullrequestreview-1920784228
View reviewed changes https://github.com/python/cpython/pull/116433/files/880afcfcc505f106dbc5d4873c7099eb1cd5b940
colesburyhttps://github.com/colesbury
https://github.com/python/cpython/pull/116433#pullrequestreview-1920784228
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/116433
https://github.com/apps/bedevere-app
bedevere-apphttps://github.com/apps/bedevere-app
awaiting merge https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20merge%22
awaiting review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20review%22
Mar 6, 2024https://github.com/python/cpython/pull/116433#event-12033329502
https://github.com/colesbury
colesburyhttps://github.com/colesbury
c62144ahttps://github.com/python/cpython/commit/c62144a02cfae412a9deb4059fae141693a6edc9
Mar 6, 2024https://github.com/python/cpython/pull/116433#event-12033338335
https://github.com/apps/bedevere-app
bedevere-apphttps://github.com/apps/bedevere-app
awaiting merge https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20merge%22
Mar 6, 2024https://github.com/python/cpython/pull/116433#event-12033338784
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
Mar 6, 2024https://github.com/python/cpython/pull/116433#issuecomment-1981798999
c62144ahttps://github.com/python/cpython/commit/c62144a02cfae412a9deb4059fae141693a6edc9
the buildbot page in the devguidehttps://devguide.python.org/buildbots/
https://buildbot.python.org/all/#builders/249/builds/7957https://buildbot.python.org/all/#builders/249/builds/7957
c62144ahttps://github.com/python/cpython/commit/c62144a02cfae412a9deb4059fae141693a6edc9
https://buildbot.python.org/all/#builders/249/builds/7957https://buildbot.python.org/all/#builders/249/builds/7957
Please reload this pagehttps://github.com/python/cpython/pull/116433
https://github.com/colesbury
colesburyhttps://github.com/colesbury
Mar 6, 2024https://github.com/python/cpython/pull/116433#issuecomment-1981869462
#116434https://github.com/python/cpython/pull/116434
Please reload this pagehttps://github.com/python/cpython/pull/116433
adorilsonhttps://github.com/adorilson
Mar 25, 2024 https://github.com/python/cpython/pull/116433#ref-commit-7ae28cb
https://github.com/mpage
https://github.com/adorilson
pythongh-114271https://github.com/python/cpython/issues/114271
: Makehttps://github.com/adorilson/cpython/commit/7ae28cb772f987d7b0bfb3fe2b63f27985ed102d
_thread.lockhttps://github.com/adorilson/cpython/commit/7ae28cb772f987d7b0bfb3fe2b63f27985ed102d
thread-safe in free-threaded bui…https://github.com/adorilson/cpython/commit/7ae28cb772f987d7b0bfb3fe2b63f27985ed102d
7ae28cbhttps://github.com/adorilson/cpython/commit/7ae28cb772f987d7b0bfb3fe2b63f27985ed102d
python#116433https://github.com/python/cpython/pull/116433
diegorussohttps://github.com/diegorusso
Apr 17, 2024 https://github.com/python/cpython/pull/116433#ref-commit-5cab8ec
https://github.com/mpage
https://github.com/diegorusso
pythongh-114271https://github.com/python/cpython/issues/114271
: Makehttps://github.com/diegorusso/cpython/commit/5cab8eca557fbee5e4d153b15be3606143a9d950
_thread.lockhttps://github.com/diegorusso/cpython/commit/5cab8eca557fbee5e4d153b15be3606143a9d950
thread-safe in free-threaded bui…https://github.com/diegorusso/cpython/commit/5cab8eca557fbee5e4d153b15be3606143a9d950
5cab8echttps://github.com/diegorusso/cpython/commit/5cab8eca557fbee5e4d153b15be3606143a9d950
python#116433https://github.com/python/cpython/pull/116433
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F116433
https://github.com/colesbury
colesbury https://github.com/colesbury
https://github.com/python/cpython/pull/116433/files/880afcfcc505f106dbc5d4873c7099eb1cd5b940
skip news https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22skip%20news%22
topic-free-threading https://github.com/python/cpython/issues?q=state%3Aopen%20label%3Atopic-free-threading
Please reload this pagehttps://github.com/python/cpython/pull/116433
https://github.com/mpage
https://github.com/bedevere-bot
https://github.com/colesbury
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.