summaryrefslogtreecommitdiff
path: root/src/Utility/Process
diff options
context:
space:
mode:
authorJoey Hess2015-10-28 15:41:26 -0400
committerJoey Hess2015-10-28 15:41:26 -0400
commit644ce3f6e8876ee4bbecba6d1bf5b74a612d82e4 (patch)
treebe7bd385f6614446d24a6eebe9c5fec8c3222345 /src/Utility/Process
parenta882ac7eefa405993ba903f19c51134341ba457c (diff)
work around waitForProcess race condition
https://github.com/haskell/process/issues/46
Diffstat (limited to 'src/Utility/Process')
-rw-r--r--src/Utility/Process/Shim.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Utility/Process/Shim.hs b/src/Utility/Process/Shim.hs
index 202b7c32..08694d5d 100644
--- a/src/Utility/Process/Shim.hs
+++ b/src/Utility/Process/Shim.hs
@@ -1,8 +1,12 @@
-module Utility.Process.Shim (module X, createProcess) where
+module Utility.Process.Shim (module X, createProcess, waitForProcess) where
-import System.Process as X hiding (createProcess)
-import Utility.ConcurrentOutput (createProcessConcurrent)
+import System.Process as X hiding (createProcess, waitForProcess)
+import Utility.ConcurrentOutput (createProcessConcurrent, waitForProcessConcurrent)
import System.IO
+import System.Exit
createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
createProcess = createProcessConcurrent
+
+waitForProcess :: ProcessHandle -> IO ExitCode
+waitForProcess = waitForProcessConcurrent