From 33abea50d7f0f2071b233fc46b65de6b2c545e26 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Wed, 16 Nov 2016 19:51:26 +0900 Subject: [PATCH] Use our own exception handler Suppress harmless messages we cannot do anything about --- electrumx_server.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/electrumx_server.py b/electrumx_server.py index d851aa6..d79409c 100755 --- a/electrumx_server.py +++ b/electrumx_server.py @@ -19,6 +19,9 @@ from functools import partial from server.env import Env from server.protocol import BlockServer +SUPPRESS_MESSAGES = [ + 'Fatal read error on socket transport', +] def main_loop(): '''Start the server.''' @@ -34,6 +37,11 @@ def main_loop(): logging.warning('received {} signal, shutting down'.format(signame)) future.cancel() + def on_exception(loop, context): + message = context.get('message') + if not message in SUPPRESS_MESSAGES: + loop.default_exception_handler(context) + server = BlockServer(Env()) future = asyncio.ensure_future(server.main_loop()) @@ -42,6 +50,8 @@ def main_loop(): loop.add_signal_handler(getattr(signal, signame), partial(on_signal, signame)) + # Install exception handler + loop.set_exception_handler(on_exception) loop.run_until_complete(future) loop.close()