Fix not all items being put back in sync (#886)

This commit is contained in:
Lonami Exo 2018-07-10 09:51:27 +02:00
parent 1f7e8ad279
commit 2efd78000f

View File

@ -775,11 +775,16 @@ class _ContainerQueue(queue.Queue):
items = self.get_nowait()
if not isinstance(items, list):
items = [items]
items = iter(items)
for item in items:
if (item == _reconnect_sentinel or
isinstance(item.obj, MessageContainer)
or size + item.size() > MessageContainer.MAXIMUM_SIZE):
self.put_nowait(item)
for item in items:
self.put_nowait(item)
return result # break 2 levels
else:
size += item.size()