summaryrefslogtreecommitdiff
path: root/src/Erebos/Discovery.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-06-13 22:49:29 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-06-14 09:50:39 +0200
commit1c4251052feb63adf6f54a1269cbedd546ff9797 (patch)
tree93f3ab6e8c50913ea8990d797f307e333d64f5da /src/Erebos/Discovery.hs
parentd24223e204bedfa4f0e57db55b039cffa9811357 (diff)
Terminate ICE thread when server is stopped
Changelog: Improved handling of ICE connections
Diffstat (limited to 'src/Erebos/Discovery.hs')
-rw-r--r--src/Erebos/Discovery.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Erebos/Discovery.hs b/src/Erebos/Discovery.hs
index 28388e9..2fb0ffe 100644
--- a/src/Erebos/Discovery.hs
+++ b/src/Erebos/Discovery.hs
@@ -402,6 +402,12 @@ instance Service DiscoveryService where
forM_ searchingFor $ \dgst -> do
sendToPeer peer $ DiscoverySearch (Right dgst)
+#ifdef ENABLE_ICE_SUPPORT
+ serviceStopServer _ _ _ pstates = do
+ forM_ pstates $ \( _, DiscoveryPeerState {..} ) -> do
+ mapM_ iceStopThread dpsIceConfig
+#endif
+
identityDigests :: Foldable f => Identity f -> [ RefDigest ]
identityDigests pid = map (refDigest . storedRef) $ idDataF =<< unfoldOwners pid