avoid deadlock with cache lock

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2395 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2005-03-10 22:09:41 +00:00
parent db299a1ead
commit 131bea1a59

View file

@ -131,10 +131,11 @@ class Consumer (linkcheck.lock.AssertLock):
"""
Return True if checking is finished.
"""
# avoid deadlock by requesting cache data before locking
tocheck = self.cache.incoming_len()
self.acquire()
try:
return self.threader.finished() and \
self.cache.incoming_len() <= 0
return self.threader.finished() and tocheck <= 0
finally:
self.release()