René's URL Explorer Experiment


Title: gh-59956: Partial Fix for GILState API Compatibility with Subinterpreters by ericsnowcurrently · Pull Request #101431 · python/cpython · GitHub

Open Graph Title: gh-59956: Partial Fix for GILState API Compatibility with Subinterpreters by ericsnowcurrently · Pull Request #101431 · python/cpython

X Title: gh-59956: Partial Fix for GILState API Compatibility with Subinterpreters by ericsnowcurrently · Pull Request #101431 · python/cpython

Description: The GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters. ...

Open Graph Description: The GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters. ...

X Description: The GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters. ...

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

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:41287c56-99f6-4e59-b4a6-c147f710714f
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC41C:28B0D7:241CD9:33740D:696A0680
html-safe-noncea9858f933bdb3fe59bf1479cf05380ee781c0072287fe3eaaa152c7c9f5deddb
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNDFDOjI4QjBENzoyNDFDRDk6MzM3NDBEOjY5NkEwNjgwIiwidmlzaXRvcl9pZCI6IjM2MDY3NDM4MDQxMzY3ODU1MzYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac80a138da50595f768d27bf2acc65fcfeceb1429b242337cd73e938277d725738
hovercard-subject-tagpull_request:1222166804
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/101431/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/11a6cc55295282e2c190d10dc0bd9c7fc169cb3166b97592a5b0d95663ed03c4/python/cpython/pull/101431
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/11a6cc55295282e2c190d10dc0bd9c7fc169cb3166b97592a5b0d95663ed03c4/python/cpython/pull/101431
og:image:altThe GILState API (PEP 311) implementation from 2003 made the assumption that only one thread state would ever be used for any given OS thread, explicitly disregarding the case of subinterpreters. ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameericsnowcurrently
hostnamegithub.com
expected-hostnamegithub.com
None578c119ff0247c8b2f2491fbf4fc0395cdf909d4df66598cebdc96ddfc4418dc
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
release671c2f67171dbced24284331f3133a613d08c366
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/101431#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F101431
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%2F101431
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/101431
Reloadhttps://github.com/python/cpython/pull/101431
Reloadhttps://github.com/python/cpython/pull/101431
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/101431
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/101431
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/101431#issue-comment-box
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
python:mainhttps://github.com/python/cpython/tree/main
ericsnowcurrently:gilstate-fixes-for-subinterpreters-3https://github.com/ericsnowcurrently/cpython/tree/gilstate-fixes-for-subinterpreters-3
gh-59956: Partial Fix for GILState API Compatibility with Subinterpreters https://github.com/python/cpython/pull/101431#top
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
python:mainhttps://github.com/python/cpython/tree/main
ericsnowcurrently:gilstate-fixes-for-subinterpreters-3https://github.com/ericsnowcurrently/cpython/tree/gilstate-fixes-for-subinterpreters-3
Conversation 1 https://github.com/python/cpython/pull/101431
Commits 3 https://github.com/python/cpython/pull/101431/commits
Checks 0 https://github.com/python/cpython/pull/101431/checks
Files changed https://github.com/python/cpython/pull/101431/files
Please reload this pagehttps://github.com/python/cpython/pull/101431
https://github.co/hiddenchars
https://github.com/python/cpython/pull/{{ revealButtonHref }}
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Jan 30, 2023https://github.com/python/cpython/pull/101431#issue-1563041055
Please reload this pagehttps://github.com/python/cpython/pull/101431
gh-99040https://github.com/python/cpython/pull/99040
[subinterpreters] Make the PyGILState API compatible with subinterpreters #59956https://github.com/python/cpython/issues/59956
Please reload this pagehttps://github.com/python/cpython/pull/101431
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
January 30, 2023 12:08https://github.com/python/cpython/pull/101431#commits-pushed-f9e6b8d
https://github.com/ericsnowcurrently
Swap the "auto TSS" tstate too.https://github.com/python/cpython/pull/101431/commits/f9e6b8d86c4d9c9f0109089c7116f4e4c9cca042
f9e6b8dhttps://github.com/python/cpython/pull/101431/commits/f9e6b8d86c4d9c9f0109089c7116f4e4c9cca042
https://github.com/ericsnowcurrently
Do not bail out in bind_gilstate_tstate() if it's already set.https://github.com/python/cpython/pull/101431/commits/3e8c3efcd85f7d22a5e3fc191d1d1c12d25feda7
3e8c3efhttps://github.com/python/cpython/pull/101431/commits/3e8c3efcd85f7d22a5e3fc191d1d1c12d25feda7
https://github.com/ericsnowcurrently
Add a NEWS entry.https://github.com/python/cpython/pull/101431/commits/631c872c0bd66aeeac5c99fa90999d9a9a92fadd
631c872https://github.com/python/cpython/pull/101431/commits/631c872c0bd66aeeac5c99fa90999d9a9a92fadd
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
awaiting core review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20core%20review%22
Jan 30, 2023https://github.com/python/cpython/pull/101431#event-8391580776
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
Jan 30, 2023 https://github.com/python/cpython/pull/101431#ref-issue-1198887438
[subinterpreters] Make the PyGILState API compatible with subinterpreters #59956 https://github.com/python/cpython/issues/59956
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Jan 30, 2023 https://github.com/python/cpython/pull/101431#ref-issue-1530565551
Segmentation fault during the test__xxsubinterpreters test #100981 https://github.com/python/cpython/issues/100981
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Feb 2, 2023https://github.com/python/cpython/pull/101431#issuecomment-1413000929
@pitrouhttps://github.com/pitrou
Please reload this pagehttps://github.com/python/cpython/pull/101431
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
132b3f8https://github.com/python/cpython/commit/132b3f8302c021ac31e9c1797a127d57faa1afee
Feb 6, 2023https://github.com/python/cpython/pull/101431#event-8452071409
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
awaiting core review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20core%20review%22
Feb 6, 2023https://github.com/python/cpython/pull/101431#event-8452071880
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
February 6, 2023 21:39https://github.com/python/cpython/pull/101431#event-8452072001
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Feb 6, 2023 https://github.com/python/cpython/pull/101431#ref-pullrequest-1573393548
gh-59956: Add a Test to Verify GILState Matches the "Current" Thread State #101625 https://github.com/python/cpython/pull/101625
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Feb 6, 2023 https://github.com/python/cpython/pull/101431#ref-commit-914f8fd
https://github.com/ericsnowcurrently
gh-59956https://github.com/python/cpython/issues/59956
: Add a Test to Verify GILState Matches the "Current" Thread …https://github.com/python/cpython/commit/914f8fd9f7fc5e48b54d938a68c932cc618ef3a6
914f8fdhttps://github.com/python/cpython/commit/914f8fd9f7fc5e48b54d938a68c932cc618ef3a6
gh-101625https://github.com/python/cpython/pull/101625
gh-101431https://github.com/python/cpython/pull/101431
#59956https://github.com/python/cpython/issues/59956
https://github.com/AlexanderWells-diamond
AlexanderWells-diamondhttps://github.com/AlexanderWells-diamond
Jun 27, 2025 https://github.com/python/cpython/pull/101431#ref-issue-3157564787
Using latest cothread on python3.11 with pyqt results in segfault DiamondLightSource/cothread#75 https://github.com/DiamondLightSource/cothread/issues/75
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%2F101431
Please reload this pagehttps://github.com/python/cpython/pull/101431
https://github.com/ericsnowcurrently
https://github.com/bedevere-bot
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.