summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bangert <ben@groovie.org>2017-05-31 15:03:02 -0700
committerGitHub <noreply@github.com>2017-05-31 15:03:02 -0700
commit3cc86ac06e20722d0ba78582abed2b2a63a7a2aa (patch)
treedfae23ed0a10bcad669bade8b155e30c3969a3d1
parentc82a98b8066b128caaa07cd7814be8c54e61adb2 (diff)
parenta67432256ba3aebceb3fe12c70584f7b8a440b7a (diff)
downloadkazoo-3cc86ac06e20722d0ba78582abed2b2a63a7a2aa.tar.gz
Merge pull request #430 from anskornyakov/hotfix/semaphore-deadlock
fix deadlock in nonblocking semaphore acquiring
-rw-r--r--kazoo/recipe/lock.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/kazoo/recipe/lock.py b/kazoo/recipe/lock.py
index 85af430..72d1da9 100644
--- a/kazoo/recipe/lock.py
+++ b/kazoo/recipe/lock.py
@@ -557,10 +557,10 @@ class Semaphore(object):
w = _Watch(duration=timeout)
w.start()
lock = self.client.Lock(self.lock_path, self.data)
- gotten = lock.acquire(blocking=blocking, timeout=w.leftover())
- if not gotten:
- return False
try:
+ gotten = lock.acquire(blocking=blocking, timeout=w.leftover())
+ if not gotten:
+ return False
while True:
self.wake_event.clear()