René's URL Explorer Experiment


Title: [WIP] bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). by ericsnowcurrently · Pull Request #9334 · python/cpython · GitHub

Open Graph Title: [WIP] bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). by ericsnowcurrently · Pull Request #9334 · python/cpython

X Title: [WIP] bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). by ericsnowcurrently · Pull Request #9334 · python/cpython

Description: This is part of the work to improve isolation between subinterpreters. We need a way for one interpreter to ask another interpreter to do small low-level tasks, like safely decref an object owned by the other interpreter. The existing Py_AddPendingCall() (part of the public C-API) is specific to the main interpreter, so we factor out a private per-interpreter _Py_AddPendingCall(). This involves moving the global "pending calls" state to PyInterpreterState. As part of this change, we start tracking if each interpreter is "active" or finalizing. "Active" means that the interpreter is currently running the eval loop. We also start tracking the per-interpreter "active" thread ID rather than the global "main" thread ID. https://bugs.python.org/issue33608

Open Graph Description: This is part of the work to improve isolation between subinterpreters. We need a way for one interpreter to ask another interpreter to do small low-level tasks, like safely decref an object owned ...

X Description: This is part of the work to improve isolation between subinterpreters. We need a way for one interpreter to ask another interpreter to do small low-level tasks, like safely decref an object owned ...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:2380ee00-530f-a9cb-1e6b-f477b94c6aae
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idD0F8:1A6FEB:859821:B8779C:6A5391F1
html-safe-noncefc10b52938d9f7d0ab7702179ce0ffbfc61987c956a0b309814c4541a127585e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEMEY4OjFBNkZFQjo4NTk4MjE6Qjg3NzlDOjZBNTM5MUYxIiwidmlzaXRvcl9pZCI6IjEyMjI5MTY3MTI5Njc2NzIzMDUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac82ab986147b615f93203ffbd39133b49c6c65044cb40d0b2e9b69e70ac6d051f
hovercard-subject-tagpull_request:215782606
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/9334/files
twitter:imagehttps://avatars.githubusercontent.com/u/1152074?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1152074?s=400&v=4
og:image:altThis is part of the work to improve isolation between subinterpreters. We need a way for one interpreter to ask another interpreter to do small low-level tasks, like safely decref an object owned ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
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
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/9334/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F9334%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%2F9334%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/9334/files
Reloadhttps://github.com/python/cpython/pull/9334/files
Reloadhttps://github.com/python/cpython/pull/9334/files
Please reload this pagehttps://github.com/python/cpython/pull/9334/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/9334/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
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
python:masterhttps://github.com/python/cpython/tree/master
ericsnowcurrently:pending-calls-freshhttps://github.com/ericsnowcurrently/cpython/tree/pending-calls-fresh
Conversation 1 https://github.com/python/cpython/pull/9334
Commits 18 https://github.com/python/cpython/pull/9334/commits
Checks 0 https://github.com/python/cpython/pull/9334/checks
Files changed https://github.com/python/cpython/pull/9334/files
Please reload this pagehttps://github.com/python/cpython/pull/9334/files
[WIP] bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). https://github.com/python/cpython/pull/9334/files#top
Show all changes 18 commits https://github.com/python/cpython/pull/9334/files
3b8cb64 Zero-out PyInterpreterState when initializing. ericsnowcurrently Sep 10, 2018 https://github.com/python/cpython/pull/9334/commits/3b8cb643e1e304275c3e67407862801c674e1926
26e0966 Move pending calls from _PyRuntimeState to PyIntepreterState. ericsnowcurrently Jul 13, 2018 https://github.com/python/cpython/pull/9334/commits/26e09660c10b223398442274b752f9223cd26cd3
9ebc65b Explicitly pass the interpreter to the stateful ceval macros. ericsnowcurrently Sep 10, 2018 https://github.com/python/cpython/pull/9334/commits/9ebc65b7815802e2476a8ed22ad4b5c67df6a6b5
c8ec310 Add a note about pending calls during interpreter cleanup. ericsnowcurrently Jul 13, 2018 https://github.com/python/cpython/pull/9334/commits/c8ec310f299cc3973005a6e4f58ce2cf444c50b5
4366960 main -> active ericsnowcurrently Sep 12, 2018 https://github.com/python/cpython/pull/9334/commits/43669601a31b7dae9f2d8bbd319eec9310beb678
10a46ce Move "active_thread" up to PyInterpreterState.ceval. ericsnowcurrently Sep 12, 2018 https://github.com/python/cpython/pull/9334/commits/10a46ce02e9209ba54327b15ff8dd16c86cfc5da
47fb254 Add a flag to track if an interpreter is active. ericsnowcurrently Sep 14, 2018 https://github.com/python/cpython/pull/9334/commits/47fb2543629c6865de9c4dc2252dd743f9a7466f
08102dd Tie interpreter activity to the GIL. ericsnowcurrently Sep 14, 2018 https://github.com/python/cpython/pull/9334/commits/08102dd731f04646b9665326f2a66300387e5753
d84f5f4 Do not bother if no tstate provided. ericsnowcurrently Sep 14, 2018 https://github.com/python/cpython/pull/9334/commits/d84f5f41e1de8efe299a75156bcaa8461984a9e1
5f06899 Use the internal function. ericsnowcurrently Sep 14, 2018 https://github.com/python/cpython/pull/9334/commits/5f068992d844debc638bc235b4dc9bcedc441cc0
93f2706 Use _Py_AddPendingCall() for releasing shared data. ericsnowcurrently Sep 14, 2018 https://github.com/python/cpython/pull/9334/commits/93f27066be7a3b1a82994739084f0a62d78e0cde
6db2288 Drop an outdated TODO comment. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/6db2288d65fbae2d570337a8785375ed824c106e
1ceba05 Make any remaining pending calls before shutdown. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/1ceba050231c1eac0f8ca7bc024829e6a2ea3da8
331728d Forcibly mark the interpreter as active. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/331728d47ab5a9edf2832535235a16b3731f4d0c
3faea72 Prevent adding pending calls if finalizing. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/3faea72e1e1d3dc9b575905d07613228f871ec06
9d7c14f Add a NEWS entry. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/9d7c14fe699188cdf9d69de2d5f7118de043c4c2
dd5f656 Add _PyRuntimeState.main_thread. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/dd5f656f1442f740079a8d2853d8514a691ff0d1
178e2b8 Optionally lock a pending call to a specific thread. ericsnowcurrently Sep 15, 2018 https://github.com/python/cpython/pull/9334/commits/178e2b8d397176edb728b2460d3a4d796210e7ef
Clear filters https://github.com/python/cpython/pull/9334/files
Please reload this pagehttps://github.com/python/cpython/pull/9334/files
Please reload this pagehttps://github.com/python/cpython/pull/9334/files
ceval.h https://github.com/python/cpython/pull/9334/files#diff-ebdfffaf18bedcdb18ef52479aec307e5f9853560ebaabc481808e84458a1400
ceval.h https://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
pystate.h https://github.com/python/cpython/pull/9334/files#diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468
pystate.h https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
2018-09-15-12-13-46.bpo-33608.avmvVP.rst https://github.com/python/cpython/pull/9334/files#diff-9180afc508bd25efb07dc85c316ba046bcb38b63d0c8fc078688e29a46cf3aaf
_testcapimodule.c https://github.com/python/cpython/pull/9334/files#diff-b2d7540efa4f376350ef77b923a6dfcc54bb90424970477f66275f19bad0d30f
signalmodule.c https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
ceval.c https://github.com/python/cpython/pull/9334/files#diff-c22186367cbe20233e843261998dc027ae5f1f8c0d2e778abfa454ae74cc59de
ceval_gil.h https://github.com/python/cpython/pull/9334/files#diff-a752fe0b500ba9e2a169c27f43c58c1e354039fffa5ad64852e0978006f45660
pylifecycle.c https://github.com/python/cpython/pull/9334/files#diff-69223f5bb01f359a23246afbbf75b45c622e719424418d658674fbb6c2b36fad
pystate.c https://github.com/python/cpython/pull/9334/files#diff-7ac11e526f79b42d6ea9d3592cb99da46775640c69fa5510f4a6de87cced7141
Include/ceval.hhttps://github.com/python/cpython/pull/9334/files#diff-ebdfffaf18bedcdb18ef52479aec307e5f9853560ebaabc481808e84458a1400
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Include/ceval.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-ebdfffaf18bedcdb18ef52479aec307e5f9853560ebaabc481808e84458a1400
https://github.com/python/cpython/pull/9334/files#diff-ebdfffaf18bedcdb18ef52479aec307e5f9853560ebaabc481808e84458a1400
Include/internal/ceval.hhttps://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Include/internal/ceval.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
https://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
https://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
https://github.com/python/cpython/pull/9334/files#diff-327740231013b2baec4196f73b6e5449ff6aba3cf6060c7358bfd9c80612ca45
Include/internal/pystate.hhttps://github.com/python/cpython/pull/9334/files#diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Include/internal/pystate.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468
https://github.com/python/cpython/pull/9334/files#diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468
https://github.com/python/cpython/pull/9334/files#diff-bccfc01bd96b58c022dde77486b8a896cbb31d7581bd4a4156b32c3654afe468
Include/pystate.hhttps://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Include/pystate.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
https://github.com/python/cpython/pull/9334/files#diff-72fdb9ce4eb86f7a79872b667270cf35110b62609cc8765aa3c795907c99f431
Misc/NEWS.d/next/Core and Builtins/2018-09-15-12-13-46.bpo-33608.avmvVP.rsthttps://github.com/python/cpython/pull/9334/files#diff-9180afc508bd25efb07dc85c316ba046bcb38b63d0c8fc078688e29a46cf3aaf
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Misc/NEWS.d/next/Core%20and%20Builtins/2018-09-15-12-13-46.bpo-33608.avmvVP.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
Modules/_testcapimodule.chttps://github.com/python/cpython/pull/9334/files#diff-b2d7540efa4f376350ef77b923a6dfcc54bb90424970477f66275f19bad0d30f
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Modules/_testcapimodule.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-b2d7540efa4f376350ef77b923a6dfcc54bb90424970477f66275f19bad0d30f
https://github.com/python/cpython/pull/9334/files#diff-b2d7540efa4f376350ef77b923a6dfcc54bb90424970477f66275f19bad0d30f
Modules/signalmodule.chttps://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
View file https://github.com/ericsnowcurrently/cpython/blob/178e2b8d397176edb728b2460d3a4d796210e7ef/Modules/signalmodule.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/9334/{{ revealButtonHref }}
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
https://github.com/python/cpython/pull/9334/files#diff-99fb04b208835118fdca0d54b76a00c450da3eaff09d2b53e8a03d63bbe88e30
Please reload this pagehttps://github.com/python/cpython/pull/9334/files
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.