From dbb7d7ce4d217b378976f8e29a9ec4aa419bc7a5 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 8 Dec 2020 11:48:01 +0100 Subject: [PATCH] network: set _loop_thread again as it helps debugging related: #6825 --- electrum/network.py | 6 +++++- electrum/util.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/electrum/network.py b/electrum/network.py index d2ceb8726..b006b3c55 100644 --- a/electrum/network.py +++ b/electrum/network.py @@ -266,7 +266,11 @@ class Network(Logger, NetworkRetryManager[ServerAddr]): self.asyncio_loop = asyncio.get_event_loop() assert self.asyncio_loop.is_running(), "event loop not running" - self._loop_thread = None # type: threading.Thread # set by caller; only used for sanity checks + try: + self._loop_thread = self.asyncio_loop._mythread # type: threading.Thread # only used for sanity checks + except AttributeError as e: + self.logger.warning(f"asyncio loop does not have _mythread set: {e!r}") + self._loop_thread = None assert isinstance(config, SimpleConfig), f"config should be a SimpleConfig instead of {type(config)}" self.config = config diff --git a/electrum/util.py b/electrum/util.py index 9676bb7f7..68ae69cf8 100644 --- a/electrum/util.py +++ b/electrum/util.py @@ -1187,6 +1187,7 @@ def create_and_start_event_loop() -> Tuple[asyncio.AbstractEventLoop, args=(stopping_fut,), name='EventLoop') loop_thread.start() + loop._mythread = loop_thread return loop, stopping_fut, loop_thread