diff options
Diffstat (limited to 'src/Erebos')
| -rw-r--r-- | src/Erebos/Network.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Erebos/Network.hs b/src/Erebos/Network.hs index e9f85e4..e7b08a0 100644 --- a/src/Erebos/Network.hs +++ b/src/Erebos/Network.hs @@ -403,9 +403,7 @@ startServer serverOptions serverOrigHead logd' serverServices = do case paddr of DatagramAddress _ -> return () CustomPeerAddress caddr -> connectionToAddressClosed caddr - dropPeer peer - atomically $ writeTChan serverChanPeer peer peerLoop ReceivedAnnounce addr _ -> do @@ -902,8 +900,10 @@ dropPeerInner :: Peer -> Map PeerAddress Peer -> IO (Map PeerAddress Peer) dropPeerInner peer pvalue = do atomically $ do readTVar (peerState peer) >>= \case - PeerConnected conn -> connClose conn - _ -> return() + PeerConnected conn -> do + connClose conn + writeTChan (serverChanPeer $ peerServer peer) peer + _ -> return () writeTVar (peerState peer) PeerDropped return $ M.delete (peerAddress peer) pvalue |