René's URL Explorer Experiment


Title: bpo-37193: remove thread objects which finished process its request by maru-n · Pull Request #13893 · python/cpython · GitHub

Open Graph Title: bpo-37193: remove thread objects which finished process its request by maru-n · Pull Request #13893 · python/cpython

X Title: bpo-37193: remove thread objects which finished process its request by maru-n · Pull Request #13893 · python/cpython

Description: In ThreadingMixIn class, it hold child processes on list (self._threads variable) to join it when server is closed. This list also contain thread objects which finished its process. And it will be extended eternally. So Memory usage keep increasing while running server until server_close() called in spite of all threads finished to process request in real time and computer resource is enough to process all request. This PR remove thread objects after finished to avoid it. https://bugs.python.org/issue37193

Open Graph Description: In ThreadingMixIn class, it hold child processes on list (self._threads variable) to join it when server is closed. This list also contain thread objects which finished its process. And it will be ...

X Description: In ThreadingMixIn class, it hold child processes on list (self._threads variable) to join it when server is closed. This list also contain thread objects which finished its process. And it will be ...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:65766454-5c4e-5f22-b2df-e47fea9ebedc
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE6EE:14A013:DD9FDC:127B71A:6A532AE9
html-safe-noncec23e34898b69cc6d680a23ef9146120459f1959f7a49ac253a77eceeb57dd4ef
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNkVFOjE0QTAxMzpERDlGREM6MTI3QjcxQTo2QTUzMkFFOSIsInZpc2l0b3JfaWQiOiIxNTk1NDA3MTQ5MTAxNjg5NTc3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac463bc9b7aa8e4b020d9902a1393d3d396570baff7d453c9855db2e436a5dae3c
hovercard-subject-tagpull_request:286179403
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/13893/files
twitter:imagehttps://avatars.githubusercontent.com/u/1583412?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1583412?s=400&v=4
og:image:altIn ThreadingMixIn class, it hold child processes on list (self._threads variable) to join it when server is closed. This list also contain thread objects which finished its process. And it will be ...
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/13893/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F13893%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%2F13893%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/13893/files
Reloadhttps://github.com/python/cpython/pull/13893/files
Reloadhttps://github.com/python/cpython/pull/13893/files
Please reload this pagehttps://github.com/python/cpython/pull/13893/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/13893/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
jaracohttps://github.com/jaraco
python:masterhttps://github.com/python/cpython/tree/master
maru-n:fix-issue-37193https://github.com/maru-n/cpython/tree/fix-issue-37193
Conversation 48 https://github.com/python/cpython/pull/13893
Commits 18 https://github.com/python/cpython/pull/13893/commits
Checks 0 https://github.com/python/cpython/pull/13893/checks
Files changed https://github.com/python/cpython/pull/13893/files
Please reload this pagehttps://github.com/python/cpython/pull/13893/files
bpo-37193: remove thread objects which finished process its request https://github.com/python/cpython/pull/13893/files#top
Show all changes 18 commits https://github.com/python/cpython/pull/13893/files
b437e8b bpo-37193: remove the thread which finished process request from thre… maru-n Jun 7, 2019 https://github.com/python/cpython/pull/13893/commits/b437e8ba4917c77b33e14ca732cd9ce3988d611f
94a7bdf rename variable t to thread. maru-n Jun 20, 2019 https://github.com/python/cpython/pull/13893/commits/94a7bdf20084e13ae84c664d196cfecb669c3f60
16142cf don't remove thread from list if it is daemon. maru-n Jun 20, 2019 https://github.com/python/cpython/pull/13893/commits/16142cf37845483ee2f1ae14e4735a95392c11b6
e6fa24e use lock to protect self._threads. maru-n Jun 21, 2019 https://github.com/python/cpython/pull/13893/commits/e6fa24e3db36ef69559e3583b0ea064137befd5d
a702517 use finally block in case of exception from shutdown_request(). maru-n Jun 21, 2019 https://github.com/python/cpython/pull/13893/commits/a70251792fe457af981928076267705ab2484deb
9daa417 check "not thread.daemon" before lock to avoid holding the lock if it… maru-n Jun 25, 2019 https://github.com/python/cpython/pull/13893/commits/9daa4178dbe0d7bc7628870897a9f684af62b2db
287cc8c fix the place of _threads_lock. maru-n Jun 25, 2019 https://github.com/python/cpython/pull/13893/commits/287cc8cbd18a532dc22b1cc2a35da616ddd33610
68abb0d separate code to remove a current thread into a function. maru-n Jun 25, 2019 https://github.com/python/cpython/pull/13893/commits/68abb0de2e8db7212f21c5a0da78db26dc2ab02c
c7286d1 check ValueError when removing thread. maru-n Jun 25, 2019 https://github.com/python/cpython/pull/13893/commits/c7286d1cccad60cafe651df48a95e2fb99680a9a
6ac217c fix wrong code which all instance shared same lock. maru-n Jun 25, 2019 https://github.com/python/cpython/pull/13893/commits/6ac217cb1e7fdb2d9f8749278da4d4bd748f4996
5ca61a2 Extract thread management into a _Threads class to encapsulate atomic… jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/5ca61a26eba867f3a3b841749e3cb9e388edebd2
fcd1166 Replace multiple references of 'block_on_close' with one, avoiding th… jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/fcd11664ee313ce6b82c7c2e428680e0392bc7b5
cc6e532 Add docstrings to private classes. jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/cc6e532f8d317d53178e2b86cef74ce457c9c268
b107b91 Add test to ensure that a ThreadingTCPServer can be closed without se… jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/b107b913c17f8eab25be0c1c24edfd25bfbed6a9
a1aff76 Use _NoThreads as the default value. Fixes AttributeError when server… jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/a1aff7673d947fe63e2f303b1766686602c9e4dc
d99817e Add blurb jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/d99817e9ec1428c1ce237d5bc01c6234486ade7c
7d1f367 Add test capturing failure. jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/7d1f367941c411ce01c4bf5ec5b020680e7c5313
dadeb0c Merge branch 'bpo-37193/test' into fix-issue-37193 jaraco Jun 13, 2020 https://github.com/python/cpython/pull/13893/commits/dadeb0c71460931ce8c525b77e059587472b3021
Clear filters https://github.com/python/cpython/pull/13893/files
Please reload this pagehttps://github.com/python/cpython/pull/13893/files
Please reload this pagehttps://github.com/python/cpython/pull/13893/files
socketserver.py https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
test_socketserver.py https://github.com/python/cpython/pull/13893/files#diff-79409c9a249cddde00120586b439d625ac8de0361eb75e842ef4406be5488895
2020-06-12-21-23-20.bpo-37193.wJximU.rst https://github.com/python/cpython/pull/13893/files#diff-c83b6017d97203e0aacb0c1c0f10900bd42cb16142bbaf9a4910a445bc0c5f00
Lib/socketserver.pyhttps://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
View file https://github.com/maru-n/cpython/blob/dadeb0c71460931ce8c525b77e059587472b3021/Lib/socketserver.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/13893/{{ revealButtonHref }}
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
https://github.com/python/cpython/pull/13893/files#diff-c00d56a0c132ee4bdf79f55a4b43643cf314df1fe122c07c539e120c7ec98b5e
Lib/test/test_socketserver.pyhttps://github.com/python/cpython/pull/13893/files#diff-79409c9a249cddde00120586b439d625ac8de0361eb75e842ef4406be5488895
View file https://github.com/maru-n/cpython/blob/dadeb0c71460931ce8c525b77e059587472b3021/Lib/test/test_socketserver.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/13893/{{ revealButtonHref }}
https://github.com/python/cpython/pull/13893/files#diff-79409c9a249cddde00120586b439d625ac8de0361eb75e842ef4406be5488895
https://github.com/python/cpython/pull/13893/files#diff-79409c9a249cddde00120586b439d625ac8de0361eb75e842ef4406be5488895
https://github.com/python/cpython/pull/13893/files#diff-79409c9a249cddde00120586b439d625ac8de0361eb75e842ef4406be5488895
Misc/NEWS.d/next/Library/2020-06-12-21-23-20.bpo-37193.wJximU.rsthttps://github.com/python/cpython/pull/13893/files#diff-c83b6017d97203e0aacb0c1c0f10900bd42cb16142bbaf9a4910a445bc0c5f00
View file https://github.com/maru-n/cpython/blob/dadeb0c71460931ce8c525b77e059587472b3021/Misc/NEWS.d/next/Library/2020-06-12-21-23-20.bpo-37193.wJximU.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/13893/{{ 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.