From 9afd07e867fd0ec42f47aff508231830f18bdd61 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Mon, 18 Jan 2016 22:49:27 +0200 Subject: [PATCH] server: make sure accepted UNIX sockets are blocking It was a problem on Mac OS X, where sometimes we got EAGAIN errors from calling socket.recv() on them. --- trezor_agent/server.py | 1 + trezor_agent/tests/test_server.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/trezor_agent/server.py b/trezor_agent/server.py index 38835fe..a04a3a4 100644 --- a/trezor_agent/server.py +++ b/trezor_agent/server.py @@ -63,6 +63,7 @@ def server_thread(server, handler, quit_event): def accept_connection(): conn, _ = server.accept() + conn.settimeout(None) return conn while True: diff --git a/trezor_agent/tests/test_server.py b/trezor_agent/tests/test_server.py index f8a22fd..0557aba 100644 --- a/trezor_agent/tests/test_server.py +++ b/trezor_agent/tests/test_server.py @@ -32,6 +32,9 @@ class FakeSocket(object): def close(self): pass + def settimeout(self, value): + pass + def test_handle(): handler = protocol.Handler(keys=[], signer=None)