@@ -18,7 +18,7 @@ import Control.Distributed.Process.Serializable ()
1818import Control.Concurrent (forkIO)
1919import Control.Concurrent.Chan (writeChan)
2020import Control.Exception (mask_)
21−import Control.Monad (unless)
21+import Control.Monad (unless, void)
2222import Control.Monad.IO.Class (liftIO)
2323import Control.Monad.Reader (ask)
2424import qualified Network.Transport as NT
@@ -30,7 +30,7 @@ import qualified Network.Transport as NT
3030 , close
3131 )
3232import Control.Distributed.Process.Internal.Types
33− ( LocalNode(localState, localEndPoint, localCtrlChan)
33+ ( LocalNode(localEndPoint, localCtrlChan)
3434 , withValidLocalState
3535 , modifyValidLocalState
3636 , modifyValidLocalState_
@@ -146,9 +146,9 @@ disconnect node from to = mask_ $ do
146146 return (vst, return ())
147147 Just (conn, _) -> do
148148 return ( localConnectionBetween from to ^= Nothing $ vst
149− , NT.close conn
149+ , void $ forkIO $ NT.close conn
150150 )
151− forM_ mio forkIO
151+ forM_ mio id
152152
153153closeImplicitReconnections :: LocalNode -> Identifier -> IO ()
154154closeImplicitReconnections node to = mask_ $ do