diff options
| author | Joey Hess <joey@kitenet.net> | 2014-05-11 10:30:45 -0300 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-05-11 10:30:45 -0300 |
| commit | 1f573876b76184f0d5dd24e13df9d894a6b3a29f (patch) | |
| tree | ef176e605c32dd7b838b62a89f0414d4b989fc3f | |
| parent | 782e4f7f4bb738c309a83a0931d75ba983069eb7 (diff) | |
propellor spin
| -rw-r--r-- | Propellor/SimpleSh.hs | 6 |
1 files changed, 4 insertions, 2 deletions
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] |
