From d11c2c607768fa549b1aed7899edc061b2ebf19f Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 20 Aug 2019 00:47:07 +0100 Subject: Revert "bpo-37788: Fix a reference leak if a thread is not joined (GH-15228)" (GH-15338) This reverts commit d3dcc92778807ae8f7ebe85178f36a29711cd478. --- Lib/test/test_threading.py | 8 -------- Lib/threading.py | 10 ---------- .../next/Library/2019-08-12-17-21-10.bpo-37788.F0tR05.rst | 1 - 3 files changed, 19 deletions(-) delete mode 100644 Misc/NEWS.d/next/Library/2019-08-12-17-21-10.bpo-37788.F0tR05.rst diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 5e90627..7c16974 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -761,14 +761,6 @@ class ThreadTests(BaseTestCase): # Daemon threads must never add it to _shutdown_locks. self.assertNotIn(tstate_lock, threading._shutdown_locks) - def test_leak_without_join(self): - # bpo-37788: Test that a thread which is not joined explicitly - # does not leak. Test written for reference leak checks. - def noop(): pass - with support.wait_threads_exit(): - threading.Thread(target=noop).start() - # Thread.join() is not called - class ThreadJoinOnShutdown(BaseTestCase): diff --git a/Lib/threading.py b/Lib/threading.py index 67e1c4f..32a3d7c 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -806,16 +806,6 @@ class Thread: # For debugging and _after_fork() _dangling.add(self) - def __del__(self): - if not self._initialized: - return - lock = self._tstate_lock - if lock is not None and not self.daemon: - # ensure that self._tstate_lock is not in _shutdown_locks - # if join() was not called explicitly - with _shutdown_locks_lock: - _shutdown_locks.discard(lock) - def _reset_internal_locks(self, is_alive): # private! Called by _after_fork() to reset our internal locks as # they may be in an invalid state leading to a deadlock or crash. diff --git a/Misc/NEWS.d/next/Library/2019-08-12-17-21-10.bpo-37788.F0tR05.rst b/Misc/NEWS.d/next/Library/2019-08-12-17-21-10.bpo-37788.F0tR05.rst deleted file mode 100644 index d9b1e82..0000000 --- a/Misc/NEWS.d/next/Library/2019-08-12-17-21-10.bpo-37788.F0tR05.rst +++ /dev/null @@ -1 +0,0 @@ -Fix a reference leak if a thread is not joined. -- cgit v0.12