diff --git a/pupy/network/lib/connection.py b/pupy/network/lib/connection.py index 058e2144..82d76cfb 100644 --- a/pupy/network/lib/connection.py +++ b/pupy/network/lib/connection.py @@ -357,14 +357,17 @@ class PupyConnection(Connection): if __debug__: logger.debug('Connection - close - start') + self._close = True + + # Stop dispatch queue first + self._data_queue.put(None) + try: Connection.close(self, *args) finally: for lock in self._sync_events.itervalues(): lock.set() - self._data_queue.put(None) - if __debug__: logger.debug('Connection - closed')