@@ -19,6 +19,7 @@ import qualified Network.Transport as NT
19 , defaultConnectHints
19 , defaultConnectHints
21 , Reliability(ReliableOrdered)
21 , Reliability(ReliableOrdered)
23import Control.Distributed.Process.Internal.Types
24import Control.Distributed.Process.Internal.Types
24 ( LocalNode(localState, localEndPoint, localCtrlChan)
25 ( LocalNode(localState, localEndPoint, localCtrlChan)
@@ -93,5 +94,10 @@ connBetween node from to = do
94reconnect :: LocalNode -> Identifier -> Identifier -> IO ()
95reconnect :: LocalNode -> Identifier -> Identifier -> IO ()
95reconnect node from to =
96reconnect node from to =
96− modifyMVar_ (localState node) $ return .
97+ modifyMVar_ (localState node) $ \st ->
98+ case st ^. localConnectionBetween from to of
97− (localConnectionBetween from to ^= Nothing)
103+ return (localConnectionBetween from to ^= Nothing $ st)