on master help sign in
Link inNixShell process and improve peers discovery
commit8865f04b6ec3e7f7dadf75b1b2444441740f5b4f authorLuigy Leon <luigy@outlook.com> dateFri 4 May 2018, 09:54 (8 years ago) parent896e9c6
1 file changed+9−6
lib/command/src/Obelisk/Command.hs+9−6
lib/command/src/Obelisk/Command.hs+9−6
@@ -141,16 +141,19 @@ inNixShell :: Closure (Process ()) -> IO ()
141141inNixShell m = do
142142 progName <- getProgName
143143 _ <- forkIO $ inImpureProjectShell "ghc" $ unwords [progName, "internal", "daemon"]
144− -- NB: Loading a nix-shell takes around 4 seconds
145− threadDelay $ 1000 * 1000 * 4
146144 backend <- initializeBackend "127.0.0.1" "0" obRemoteTable
147145 backendNode <- newLocalNode backend
148− startMaster backend (daemonMaster m) `finally`
146+ startMaster backend (daemonMaster backend m) `finally`
149147 runProcess backendNode (terminateAllSlaves backend)
150148
151−daemonMaster :: Closure (Process ()) -> [NodeId] -> Process ()
152−daemonMaster p nodeIds = do
153− forM_ nodeIds $ \nodeId -> spawn nodeId p
149+daemonMaster :: Backend -> Closure (Process ()) -> [NodeId] -> Process ()
150+daemonMaster backend p [] = do
151+ slaves <- findSlaves backend
152+ daemonMaster backend p $ processNodeId <$> slaves
153+daemonMaster _ p nodeIds = do
154+ forM_ nodeIds $ \nodeId -> do
155+ _pid <- spawnLink nodeId p
156+ return ()
154157 expect
155158
156159daemonSlave :: IO ()