summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/daemon.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/daemon.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/daemon.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/daemon.py b/packages/meshbay-node/src/meshbay_node/daemon.py
index fa9ef81..69c7e66 100644
--- a/packages/meshbay-node/src/meshbay_node/daemon.py
+++ b/packages/meshbay-node/src/meshbay_node/daemon.py
@@ -1789,6 +1789,15 @@ class NodeDaemon:
for indexer in self._indexers:
await indexer.stop()
+ # The thread each group's roots are read from (roots.py `io_executor`).
+ # Created on the first read, so a group nobody downloaded from never
+ # started one and this is a no-op for it.
+ groups = self._webrtc._ctx.get("groups") if self._webrtc else None
+ for group in (groups or {}).values():
+ roots = group.get("roots")
+ if roots is not None:
+ roots.close_io()
+
if self._quic_server:
await self._quic_server.stop()