gh-101766: Fix refleak for _BlockingOnManager resources (gh-101942)

This commit is contained in:
Dong-hee Na 2023-02-17 19:14:07 +09:00 committed by GitHub
parent 3c0a31cbfd
commit 775f8819e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -85,6 +85,11 @@ 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):