From 3cc46bfe4d18f1f70bb3d6f33c1860ff2b56a052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ionel=20Cristian=20M=C4=83rie=C8=99?= Date: Wed, 19 Mar 2014 15:30:17 +0200 Subject: Don't increase the semaphore is a callback is going to get called (this will make the callbacks waiting for the semaphore run for free, even there's no space to run them). --- kombu/async/semaphore.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kombu/async/semaphore.py b/kombu/async/semaphore.py index 58b4ff72..b4464410 100644 --- a/kombu/async/semaphore.py +++ b/kombu/async/semaphore.py @@ -71,11 +71,10 @@ class LaxBoundedSemaphore(object): that is waiting for the resource (FIFO order). """ - self.value = min(self.value + 1, self.initial_value) try: waiter, args = self._pop_waiter() except IndexError: - pass + self.value = min(self.value + 1, self.initial_value) else: waiter(*args) -- cgit v1.2.1