summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2012-09-12 16:53:35 +0100
committerAsk Solem <ask@celeryproject.org>2012-11-02 14:46:33 +0000
commit335b39de8621cc426a120f149b789fe46a2f67ed (patch)
treedff4ce32b92ae7ede850c6f85ed96309c4dfce17
parent1ac786302553c5f3f79940b3a2dcfaa855a4107c (diff)
downloadkombu-335b39de8621cc426a120f149b789fe46a2f67ed.tar.gz
In some cases after_reply_message_received was not called
-rw-r--r--kombu/pidbox.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/kombu/pidbox.py b/kombu/pidbox.py
index a4380ecb..787fde32 100644
--- a/kombu/pidbox.py
+++ b/kombu/pidbox.py
@@ -242,14 +242,16 @@ class Mailbox(object):
responses.append(body)
consumer.register_callback(on_message)
- with consumer:
- for i in limit and range(limit) or count():
- try:
- self.connection.drain_events(timeout=timeout)
- except socket.timeout:
- break
- return responses
- chan.after_reply_message_received(queue.name)
+ try:
+ with consumer:
+ for i in limit and range(limit) or count():
+ try:
+ self.connection.drain_events(timeout=timeout)
+ except socket.timeout:
+ break
+ return responses
+ finally:
+ chan.after_reply_message_received(queue.name)
def _get_exchange(self, namespace, type):
return Exchange(self.exchange_fmt % namespace,