]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.9] bpo-37788: Fix reference leak when Thread is never joined (GH-26103) (GH-26142)
authorAntoine Pitrou <antoine@python.org>
Sat, 15 May 2021 09:51:20 +0000 (11:51 +0200)
committerGitHub <noreply@github.com>
Sat, 15 May 2021 09:51:20 +0000 (02:51 -0700)
commitb30b25b26663fb6070b8ed86fe3a20dcb557d05d
tree9f3d48dbb54a80505a207eee8fd2a8dc9ad079fd
parentfa9de0c383581936de3338c8dc6b58c10a6e27b8
[3.9] bpo-37788: Fix reference leak when Thread is never joined (GH-26103) (GH-26142)

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 c10c2ec7a0e06975e8010c56c9c3270f8ea322ec)

Co-authored-by: Antoine Pitrou <antoine@python.org>
Automerge-Triggered-By: GH:pitrou
Lib/test/test_threading.py
Lib/threading.py
Misc/NEWS.d/next/Library/2021-05-13-19-07-28.bpo-37788.adeFcf.rst [new file with mode: 0644]