From 131bea1a59a185f00d4f721284fc357a3d20343c Mon Sep 17 00:00:00 2001 From: calvin Date: Thu, 10 Mar 2005 22:09:41 +0000 Subject: [PATCH] avoid deadlock with cache lock git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2395 e7d03fd6-7b0d-0410-9947-9c21f3af8025 --- linkcheck/checker/consumer.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/linkcheck/checker/consumer.py b/linkcheck/checker/consumer.py index ab91aca2..3d97d40e 100644 --- a/linkcheck/checker/consumer.py +++ b/linkcheck/checker/consumer.py @@ -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()