From 1f573876b76184f0d5dd24e13df9d894a6b3a29f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 11 May 2014 10:30:45 -0300 Subject: propellor spin --- Propellor/SimpleSh.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Propellor/SimpleSh.hs') diff --git a/Propellor/SimpleSh.hs b/Propellor/SimpleSh.hs index f1a84951..99dd3cc6 100644 --- a/Propellor/SimpleSh.hs +++ b/Propellor/SimpleSh.hs @@ -6,6 +6,7 @@ module Propellor.SimpleSh where import Network.Socket +import Control.Concurrent import Control.Concurrent.Chan import Control.Concurrent.Async import System.Process (std_in, std_out, std_err) @@ -31,8 +32,9 @@ simpleSh namedpipe = do listen s 2 forever $ do (client, _addr) <- accept s - h <- socketToHandle client ReadWriteMode - maybe noop (run h) . readish =<< hGetLine h + forkIO $ do + h <- socketToHandle client ReadWriteMode + maybe noop (run h) . readish =<< hGetLine h where run h (Cmd cmd params) = do debug ["simplesh run", cmd, show params] -- cgit v1.2.3