diff options
author | Dong-hee Na <donghee.na@python.org> | 2023-02-17 15:18:47 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-17 15:18:47 (GMT) |
commit | f482ade4c7887c49dfd8bba3be76f839e562608d (patch) | |
tree | 1ad2cf423d41506c65b8b2d76a4a80daa4203e17 | |
parent | 072011b3c38f871cdc3ab62630ea2234d09456d1 (diff) | |
download | cpython-f482ade4c7887c49dfd8bba3be76f839e562608d.zip cpython-f482ade4c7887c49dfd8bba3be76f839e562608d.tar.gz cpython-f482ade4c7887c49dfd8bba3be76f839e562608d.tar.bz2 |
gh-101766: Fix refleak for _BlockingOnManager resources from test suite level (gh-101988)
-rw-r--r-- | Lib/importlib/_bootstrap.py | 5 | ||||
-rw-r--r-- | Lib/test/test_importlib/test_locks.py | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index 1ef7b6a..bebe7e1 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -85,11 +85,6 @@ class _BlockingOnManager: def __exit__(self, *args, **kwargs): """Remove self.lock from this thread's _blocking_on list.""" self.blocked_on.remove(self.lock) - if len(self.blocked_on) == 0: - # gh-101766: glboal cache should be cleaned-up - # if there is no more _blocking_on for this thread. - del _blocking_on[self.thread_id] - del self.blocked_on class _DeadlockError(RuntimeError): diff --git a/Lib/test/test_importlib/test_locks.py b/Lib/test/test_importlib/test_locks.py index 56d73c4..ba9cf51 100644 --- a/Lib/test/test_importlib/test_locks.py +++ b/Lib/test/test_importlib/test_locks.py @@ -33,6 +33,11 @@ class ModuleLockAsRLockTests: test_repr = None test_locked_repr = None + def tearDown(self): + for splitinit in init.values(): + splitinit._bootstrap._blocking_on.clear() + + LOCK_TYPES = {kind: splitinit._bootstrap._ModuleLock for kind, splitinit in init.items()} |