summaryrefslogtreecommitdiff
path: root/kombu/messaging.py
diff options
context:
space:
mode:
authorFelix Yan <felixonmars@archlinux.org>2017-02-21 11:52:18 -0600
committerAsif Saifuddin Auvi <auvipy@users.noreply.github.com>2017-02-21 23:52:18 +0600
commit2940a4b1830bc2fc6d3f65de4feeec6ea5a49fe5 (patch)
tree4ce3873e7c213166f997dedad7aea29f707dc752 /kombu/messaging.py
parent655d6cdd925e3e9e2797e8fecd6a8736c89cf3a3 (diff)
downloadkombu-2940a4b1830bc2fc6d3f65de4feeec6ea5a49fe5.tar.gz
Don't modify dict size while iterating over it (#676)
This fixes #675.
Diffstat (limited to 'kombu/messaging.py')
-rw-r--r--kombu/messaging.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/kombu/messaging.py b/kombu/messaging.py
index 03e7e154..e1800b52 100644
--- a/kombu/messaging.py
+++ b/kombu/messaging.py
@@ -397,7 +397,8 @@ class Consumer(object):
"""Revive consumer after connection loss."""
self._active_tags.clear()
channel = self.channel = maybe_channel(channel)
- for qname, queue in items(self._queues):
+ # modify dict size while iterating over it is not allowed
+ for qname, queue in list(items(self._queues)):
# name may have changed after declare
self._queues.pop(qname, None)
queue = self._queues[queue.name] = queue(self.channel)