From 9e013d4ce0531e6d3fee9fd5fc7cc8c96c3c903e Mon Sep 17 00:00:00 2001 From: Janus Date: Fri, 13 Apr 2018 12:32:29 +0200 Subject: [PATCH] network: stop loop on loop thread --- lib/network.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/network.py b/lib/network.py index cd384595..762ee17c 100644 --- a/lib/network.py +++ b/lib/network.py @@ -1086,8 +1086,11 @@ class Network(util.DaemonThread): networkAndWalletLock.acquire() # cancel tasks [f.cancel() for f in self.futures] - self.asyncio_loop.stop() - if self.asyncio_loop.is_running(): time.sleep(0.1) + async def loopstop(): + self.asyncio_loop.stop() + asyncio.run_coroutine_threadsafe(loopstop(), self.asyncio_loop) + while self.asyncio_loop.is_running(): + time.sleep(0.1) try: self.asyncio_loop.close() except: