From 935ab9a12f4cd6cf8e06c7207fafda72bb6ea1c7 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Fri, 28 Jun 2019 21:13:33 +0200 Subject: [PATCH] interface: check if future already done in handle_disconnect future could get cancelled in network.py in which case set_result raised --- electrum/interface.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/electrum/interface.py b/electrum/interface.py index 1d54be3d2..b5eac439c 100644 --- a/electrum/interface.py +++ b/electrum/interface.py @@ -336,7 +336,8 @@ class Interface(Logger): self.logger.debug(f"(disconnect) trace for {repr(e)}", exc_info=True) finally: await self.network.connection_down(self) - self.got_disconnected.set_result(1) + if not self.got_disconnected.done(): + self.got_disconnected.set_result(1) # if was not 'ready' yet, schedule waiting coroutines: self.ready.cancel() return wrapper_func