FIX signal handlers for forked processes
This commit is contained in:
parent
0a848c4aa7
commit
6689a53585
|
@ -42,12 +42,12 @@ withDefaultSignalHandlers =
|
||||||
addGroupSession :: P.ProcessConfig x y z -> P.ProcessConfig x y z
|
addGroupSession :: P.ProcessConfig x y z -> P.ProcessConfig x y z
|
||||||
addGroupSession = P.setCreateGroup True . P.setNewSession True
|
addGroupSession = P.setCreateGroup True . P.setNewSession True
|
||||||
|
|
||||||
-- readProcess :: P.ProcessConfig a b c -> IO (ExitCode, B.ByteString, B.ByteString)
|
|
||||||
-- readProcess = withDefaultSignalHandlers . P.readProcess
|
|
||||||
|
|
||||||
runProcess :: P.ProcessConfig a b c -> IO ExitCode
|
runProcess :: P.ProcessConfig a b c -> IO ExitCode
|
||||||
runProcess = withDefaultSignalHandlers . P.runProcess
|
runProcess = withDefaultSignalHandlers . P.runProcess
|
||||||
|
|
||||||
|
startProcess :: P.ProcessConfig a b c -> IO (P.Process a b c)
|
||||||
|
startProcess = withDefaultSignalHandlers . P.startProcess
|
||||||
|
|
||||||
shell :: T.Text -> P.ProcessConfig () () ()
|
shell :: T.Text -> P.ProcessConfig () () ()
|
||||||
shell = addGroupSession . P.shell . T.unpack
|
shell = addGroupSession . P.shell . T.unpack
|
||||||
|
|
||||||
|
@ -55,14 +55,14 @@ proc :: FilePath -> [T.Text] -> P.ProcessConfig () () ()
|
||||||
proc cmd args = addGroupSession $ P.proc cmd (T.unpack <$> args)
|
proc cmd args = addGroupSession $ P.proc cmd (T.unpack <$> args)
|
||||||
|
|
||||||
spawn :: MonadIO m => T.Text -> m ()
|
spawn :: MonadIO m => T.Text -> m ()
|
||||||
spawn = liftIO . void . P.startProcess . shell
|
spawn = liftIO . void . startProcess . shell
|
||||||
|
|
||||||
spawnAt :: MonadIO m => FilePath -> T.Text -> m ()
|
spawnAt :: MonadIO m => FilePath -> T.Text -> m ()
|
||||||
spawnAt fp = liftIO . void . P.startProcess . P.setWorkingDir fp . shell
|
spawnAt fp = liftIO . void . startProcess . P.setWorkingDir fp . shell
|
||||||
|
|
||||||
spawnStdin :: MonadIO m => B.ByteString -> T.Text -> m ()
|
spawnStdin :: MonadIO m => B.ByteString -> T.Text -> m ()
|
||||||
spawnStdin i =
|
spawnStdin i =
|
||||||
liftIO . void . P.startProcess . P.setStdin (P.byteStringInput i) . shell
|
liftIO . void . startProcess . P.setStdin (P.byteStringInput i) . shell
|
||||||
|
|
||||||
spawnCmd :: MonadIO m => FilePath -> [T.Text] -> m ()
|
spawnCmd :: MonadIO m => FilePath -> [T.Text] -> m ()
|
||||||
spawnCmd cmd = spawn . fmtCmd cmd
|
spawnCmd cmd = spawn . fmtCmd cmd
|
||||||
|
|
Loading…
Reference in New Issue