diff options
author | Ben Bangert <ben@groovie.org> | 2017-05-31 15:03:02 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-31 15:03:02 -0700 |
commit | 3cc86ac06e20722d0ba78582abed2b2a63a7a2aa (patch) | |
tree | dfae23ed0a10bcad669bade8b155e30c3969a3d1 | |
parent | c82a98b8066b128caaa07cd7814be8c54e61adb2 (diff) | |
parent | a67432256ba3aebceb3fe12c70584f7b8a440b7a (diff) | |
download | kazoo-3cc86ac06e20722d0ba78582abed2b2a63a7a2aa.tar.gz |
Merge pull request #430 from anskornyakov/hotfix/semaphore-deadlock
fix deadlock in nonblocking semaphore acquiring
-rw-r--r-- | kazoo/recipe/lock.py | 6 |
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() |