[3.9] bpo-37788: Fix reference leak when Thread is never joined (GH-26103) by pitrou · Pull Request #26142 · python/cpython

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

@pitrou

Copy link

Member

@pitrou pitrou commented May 15, 2021

When a Thread is not joined after it has stopped, its lock may remain in the _shutdown_locks set until interpreter shutdown. If many threads are created this way, the _shutdown_locks set could therefore grow endlessly. To avoid such a situation, purge expired locks each time a new one is added or removed..
(cherry picked from commit c10c2ec)

Co-authored-by: Antoine Pitrou antoine@python.org

https://bugs.python.org/issue37788

Automerge-Triggered-By: GH:pitrou

…onGH-26103)

When a Thread is not joined after it has stopped, its lock may remain in the _shutdown_locks set until interpreter shutdown.  If many threads are created this way, the _shutdown_locks set could therefore grow endlessly.  To avoid such a situation, purge expired locks each time a new one is added or removed..
(cherry picked from commit c10c2ec)

Co-authored-by: Antoine Pitrou <antoine@python.org>

@pitrou pitrou deleted the backport-c10c2ec-3.9 branch

May 15, 2021