on master help sign in
cliapp: Code review changes
commite7e741f9dd91521e5792359112bf7f570d51e944 authorElliot Cameron <eacameron@gmail.com> dateMon 1 Jun 2020, 12:29 (6 years ago) parentbfa6308
1 file changed+6−4
lib/cliapp/src/Obelisk/CliApp/Process.hs+6−4
lib/cliapp/src/Obelisk/CliApp/Process.hs+6−4
@@ -220,9 +220,11 @@ withProcess process f =
220220 (\x -> x { std_out = CreatePipe , std_err = CreatePipe }) process
221221 )
222222 (liftIO . Process.cleanupProcess)
223− (\(_, Just out, Just err, p) -> do
224− f out err -- Pass the handles to the passed function
225− (out, err) <$ (exitCodeToException process =<< waitForProcess p)
223+ (\case
224+ (_, Just out, Just err, p) -> do
225+ f out err
226+ (out, err) <$ (exitCodeToException process =<< waitForProcess p)
227+ _ -> error "withProcess: createProcess did not provide handles for CreatePipe as expected"
226228 )
227229
228230-- | Runs a process to completion failing if it does not exit cleanly.
@@ -230,7 +232,7 @@ runProcess_
230232 :: (MonadIO m, CliLog m, CliThrow e m, MonadMask m, AsProcessFailure e, MonadFail m)
231233 => ProcessSpec -> m ()
232234runProcess_ process =
233− bracketOnError -- TODO: Wrap exceptions up in ProcessFailure
235+ bracketOnError
234236 (createProcess process)
235237 (liftIO . Process.cleanupProcess)
236238 (\(_, _, _, ph) -> exitCodeToException process =<< waitForProcess ph)