aboutsummaryrefslogtreecommitdiff
path: root/RemoteDaemon/Core.hs
diff options
context:
space:
mode:
Diffstat (limited to 'RemoteDaemon/Core.hs')
-rw-r--r--RemoteDaemon/Core.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/RemoteDaemon/Core.hs b/RemoteDaemon/Core.hs
index 3b3f6d98d..446948da6 100644
--- a/RemoteDaemon/Core.hs
+++ b/RemoteDaemon/Core.hs
@@ -45,7 +45,9 @@ runInteractive = do
let controller = runController ichan ochan
-- If any thread fails, the rest will be killed.
- void $ tryIO $ reader `concurrently` writer `concurrently` controller
+ void $ tryIO $ reader
+ `concurrently` writer
+ `concurrently` controller
runNonInteractive :: IO ()
runNonInteractive = do
@@ -59,7 +61,9 @@ runNonInteractive = do
void $ atomically $ readTChan ochan
let controller = runController ichan ochan
- void $ tryIO $ reader `concurrently` writer `concurrently` controller
+ void $ tryIO $ reader
+ `concurrently` writer
+ `concurrently` controller
type RemoteMap = M.Map Git.Repo (IO (), TChan Consumed)
@@ -70,6 +74,7 @@ runController ichan ochan = do
h <- genTransportHandle
m <- genRemoteMap h ochan
startrunning m
+ mapM_ (\s -> async (s h)) remoteServers
go h False m
where
go h paused m = do