From 4a9238c110974b4b1cda2efa10e6f1af71aa6f9c Mon Sep 17 00:00:00 2001 From: klonfish Date: Tue, 27 Dec 2016 00:28:06 +0100 Subject: [PATCH] Handling of connection reset error --- wii-pair/daemon.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/wii-pair/daemon.py b/wii-pair/daemon.py index f538089..44b9f7e 100755 --- a/wii-pair/daemon.py +++ b/wii-pair/daemon.py @@ -173,26 +173,29 @@ try: conn, addr = s.accept() while True: - m = conn.recv(1) + try: + m = conn.recv(1) - if len(m) == 0: - conn.close() - break + if len(m) == 0: + conn.close() + break - r = b'' - for w in wiis: - if w.pos_x is None: - v = -128 - else: - v = int(round(w.pos_x*100)) - r += struct.pack('b', v) - if w.pos_y is None: - v = -128 - else: - v = int(round(w.pos_y*100)) - r += struct.pack('b', v) + r = b'' + for w in wiis: + if w.pos_x is None: + v = -128 + else: + v = int(round(w.pos_x*100)) + r += struct.pack('b', v) + if w.pos_y is None: + v = -128 + else: + v = int(round(w.pos_y*100)) + r += struct.pack('b', v) - conn.send(r) + conn.send(r) + except ConnectionResetError: + continue except (KeyboardInterrupt, SystemExit): t1.stop = True t2.stop = True