From 7975d27717a338450cdbcb65d00766d1992549c5 Mon Sep 17 00:00:00 2001 From: Sepalani Date: Wed, 2 Aug 2017 19:44:02 +0100 Subject: [PATCH] QR server: Handle ungraceful shutdown --- gamespy_qr_server.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gamespy_qr_server.py b/gamespy_qr_server.py index 19d40b8..f5aee72 100644 --- a/gamespy_qr_server.py +++ b/gamespy_qr_server.py @@ -127,12 +127,17 @@ class GameSpyQRServer(object): self.db = gs_database.GamespyDatabase() threading.Thread(target=self.write_queue_worker).start() - while 1: + while True: ready = select.select([self.socket], [], [], 15) if ready[0]: - recv_data, address = self.socket.recvfrom(2048) - self.handle_packet(self.socket, recv_data, address) + try: + recv_data, address = self.socket.recvfrom(2048) + self.handle_packet(self.socket, recv_data, address) + except: + logger.log(logging.ERROR, + "Failed to handle client: %s", + traceback.format_exc()) self.keepalive_check() except: