From e8e665b1737987a2b7c59cd6a96464842b864bad Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 20 Nov 2017 11:47:29 -0800 Subject: [PATCH] Fixed poll() method to always empty the queue Fixes https://github.com/miguelgrinberg/Flask-SocketIO/issues/589 --- engineio/socket.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/engineio/socket.py b/engineio/socket.py index 1285f54e..dd983a7e 100644 --- a/engineio/socket.py +++ b/engineio/socket.py @@ -33,11 +33,12 @@ def poll(self): raise exceptions.QueueEmpty() if packets == [None]: return [] - try: - packets.append(self.queue.get(block=False)) - self.queue.task_done() - except self.server._async['queue'].Empty: - pass + while True: + try: + packets.append(self.queue.get(block=False)) + self.queue.task_done() + except self.server._async['queue'].Empty: + break return packets def receive(self, pkt):