diff options
Diffstat (limited to 'kombu/pidbox.py')
-rw-r--r-- | kombu/pidbox.py | 18 |
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, |