diff --git a/Remote/Helper/P2P/IO.hs b/Remote/Helper/P2P/IO.hs index 9cd2face33..76d07a11cf 100644 --- a/Remote/Helper/P2P/IO.hs +++ b/Remote/Helper/P2P/IO.hs @@ -168,14 +168,14 @@ relayHelper runner v hin = loop return (Just exitcode) -- Takes input from the peer, and puts it into the MVar for processing. --- Repeats until the peer tells it it's done. +-- Repeats until the peer tells it it's done or hangs up. relayFeeder :: RunProto -> MVar RelayData -> IO () relayFeeder runner v = loop where loop = do mrd <- runner $ net relayFromPeer case mrd of - Nothing -> return () + Nothing -> putMVar v (RelayDone (ExitFailure 1)) Just rd -> do putMVar v rd case rd of diff --git a/RemoteDaemon/Transport/Tor.hs b/RemoteDaemon/Transport/Tor.hs index 8e27bc7dd3..f28a2c6fdc 100644 --- a/RemoteDaemon/Transport/Tor.hs +++ b/RemoteDaemon/Transport/Tor.hs @@ -47,3 +47,4 @@ server th@(TransportHandle (LocalRepo r) _) = do h <- torHandle conn _ <- runNetProtoHandle h h r (serve u) hClose h + debugM "remotedaemon" "done handling a connection"