summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Remote/Helper/P2P/IO.hs4
-rw-r--r--RemoteDaemon/Transport/Tor.hs1
2 files changed, 3 insertions, 2 deletions
diff --git a/Remote/Helper/P2P/IO.hs b/Remote/Helper/P2P/IO.hs
index 9cd2face3..76d07a11c 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 8e27bc7dd..f28a2c6fd 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"