From 9f96cd827c59776cb7da72614891be05681e5063 Mon Sep 17 00:00:00 2001 From: Dominik Winecki Date: Thu, 7 Nov 2019 10:02:18 -0500 Subject: [PATCH] Fix occasional server disconnect crashes (Fixes #146) --- engineio/asyncio_server.py | 3 ++- engineio/server.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/engineio/asyncio_server.py b/engineio/asyncio_server.py index 75bddb93..d52b556d 100644 --- a/engineio/asyncio_server.py +++ b/engineio/asyncio_server.py @@ -168,7 +168,8 @@ async def disconnect(self, sid=None): pass else: await socket.close() - del self.sockets[sid] + if sid in self.sockets: # pragma: no cover + del self.sockets[sid] else: await asyncio.wait([client.close() for client in six.itervalues(self.sockets)]) diff --git a/engineio/server.py b/engineio/server.py index 234716a6..e1543c2d 100644 --- a/engineio/server.py +++ b/engineio/server.py @@ -289,7 +289,8 @@ def disconnect(self, sid=None): pass else: socket.close() - del self.sockets[sid] + if sid in self.sockets: # pragma: no cover + del self.sockets[sid] else: for client in six.itervalues(self.sockets): client.close()