From f4cfc6c7c332c987957914afb6e6b9000f841e6a Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 22 Feb 2022 15:22:08 +0100 Subject: [PATCH] interface: set got_disconnected earlier related: https://github.com/spesmilo/electrum/issues/7677 related: prev commit --- electrum/interface.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electrum/interface.py b/electrum/interface.py index 1246fac9b..8d118900f 100644 --- a/electrum/interface.py +++ b/electrum/interface.py @@ -502,7 +502,7 @@ class Interface(Logger): self.logger.warning(f"disconnecting due to {repr(e)}") self.logger.debug(f"(disconnect) trace for {repr(e)}", exc_info=True) finally: - self.got_disconnected.set() # set this ASAP, ideally before any awaits + self.got_disconnected.set() await self.network.connection_down(self) # if was not 'ready' yet, schedule waiting coroutines: self.ready.cancel() @@ -675,6 +675,8 @@ class Interface(Logger): JSONRPC.METHOD_NOT_FOUND): raise GracefulDisconnect(e, log_level=logging.WARNING) from e raise + finally: + self.got_disconnected.set() # set this ASAP, ideally before any awaits async def monitor_connection(self): while True: