From 000b1badd9403f4da9096597a1f85e4ccc10fb80 Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Fri, 18 Oct 2019 14:43:03 -0400 Subject: Clean up "localchat" thread. --- dht/examples/dhtd.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'dht') diff --git a/dht/examples/dhtd.hs b/dht/examples/dhtd.hs index 3b2f1698..26e01c75 100644 --- a/dht/examples/dhtd.hs +++ b/dht/examples/dhtd.hs @@ -1608,9 +1608,10 @@ initJabber :: Options -> IO ( Maybe XMPPServer , Maybe (Manager TCPStatus T.Text) , Maybe (PresenceState Pending) + , IO () -- quit chat thread ) initJabber opts ssvar announcer mbtox toxdhts toxchat = case portxmpp opts of - "" -> return (Nothing,Nothing,Nothing) + "" -> return (Nothing,Nothing,Nothing,return()) p -> do cport <- getBindAddress p True{-IPv6 supported-} -- TODO: Allow running without an XMPP server-to-server port. @@ -1638,7 +1639,7 @@ initJabber opts ssvar announcer mbtox toxdhts toxchat = case portxmpp opts of , ("ngc", toxchat) ] forkXmpp sv (presenceHooks state chats (verbosity opts) (Just cport) (Just sport)) conns <- xmppConnections sv - return (Just sv, Just conns, Just state) + return (Just sv, Just conns, Just state, quitChatService) main :: IO () main = do @@ -1757,9 +1758,9 @@ main = do (mbtox,quitTox,toxdhts,toxips,(taddrs::[SockAddr])) <- initTox opts ssvar keysdb msv invc - (msv,mconns,mstate) <- initJabber opts ssvar announcer mbtox toxdhts toxchat + (msv,mconns,mstate,quitChat) <- initJabber opts ssvar announcer mbtox toxdhts toxchat - return (mbtox,quitTox,toxdhts,toxips,(taddrs::[SockAddr]),msv,mconns,mstate) + return (mbtox,quitTox >> quitChat,toxdhts,toxips,(taddrs::[SockAddr]),msv,mconns,mstate) _ <- UPNP.requestPorts "dht-client" $ map (Datagram,) $ baddrs ++ taddrs -- cgit v1.2.3