@@ -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)