commit dbb7d7ce4d217b378976f8e29a9ec4aa419bc7a5
parent 8bdd44edcbd5d8a9d9c24031c44c138fa02a4271
Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 8 Dec 2020 11:48:01 +0100
network: set _loop_thread again as it helps debugging
related: #6825
Diffstat:
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git 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
@@ -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