mirror of
https://github.com/norohind/AudioControl.git
synced 2026-10-22 21:32:09 +03:00
network: don't accept connection during shutdown
This commit is contained in:
1 file changed
+6
-1
+6
-1
@@ -18,6 +18,7 @@ class NetworkTransport(TransportABC):
|
||||
self._sock.listen(100)
|
||||
self._sock.setblocking(False)
|
||||
self._selector.register(self._sock, selectors.EVENT_READ, self._accept)
|
||||
self._running = True
|
||||
|
||||
self._connections: list[socket.socket] = list()
|
||||
|
||||
@@ -34,6 +35,9 @@ class NetworkTransport(TransportABC):
|
||||
|
||||
def _accept(self, sock: socket.socket, mask: int):
|
||||
"""Callback which get called when accepting new connection"""
|
||||
if not self._running:
|
||||
logger.debug(f'Net: New connection during shutdown {sock.getpeername()}, not accepting')
|
||||
return
|
||||
|
||||
conn, addr = sock.accept()
|
||||
logger.debug(f'Net: Accepted {conn.getpeername()}')
|
||||
@@ -64,7 +68,7 @@ class NetworkTransport(TransportABC):
|
||||
self.view_rcv_callback(event)
|
||||
|
||||
except Exception:
|
||||
logger.opt(exception=True).warning(f"Couldn't parse message from client: {data}")
|
||||
logger.opt(colors=False, exception=True).warning(f"Couldn't parse message from client: {data}")
|
||||
|
||||
def tick(self):
|
||||
events = self._selector.select(timeout=0)
|
||||
@@ -74,6 +78,7 @@ class NetworkTransport(TransportABC):
|
||||
|
||||
def shutdown(self):
|
||||
logger.debug(f'Net: Shutting down')
|
||||
self._running = False
|
||||
while len(self._connections) > 0:
|
||||
self._close_conn(self._connections[0])
|
||||
|
||||
|
||||
Reference in new issue
Block a user