diff options
author | stolz <unknown> | 2003-06-03 11:31:45 +0000 |
---|---|---|
committer | stolz <unknown> | 2003-06-03 11:31:45 +0000 |
commit | 9c72c9d8d9261f9b17192cf5bf1e706f40130453 (patch) | |
tree | 85f6620721e3b1a0f059218968de2949a4c0b309 /System/Posix/Process.hsc | |
parent | 79667e664b251e8d1a2590c94194e6063b3ba526 (diff) |
[project @ 2003-06-03 11:31:45 by stolz]
waitpid() may return EINTR, so use throwErrnoifMinus1Retry
Diffstat (limited to 'System/Posix/Process.hsc')
-rw-r--r-- | System/Posix/Process.hsc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/System/Posix/Process.hsc b/System/Posix/Process.hsc index f855500..8093c66 100644 --- a/System/Posix/Process.hsc +++ b/System/Posix/Process.hsc @@ -292,7 +292,7 @@ data ProcessStatus = Exited ExitCode getProcessStatus :: Bool -> Bool -> ProcessID -> IO (Maybe ProcessStatus) getProcessStatus block stopped pid = alloca $ \wstatp -> do - pid <- throwErrnoIfMinus1 "getProcessStatus" + pid <- throwErrnoIfMinus1Retry "getProcessStatus" (c_waitpid pid wstatp (waitOptions block stopped)) case pid of 0 -> return Nothing @@ -308,7 +308,7 @@ getGroupProcessStatus :: Bool -> IO (Maybe (ProcessID, ProcessStatus)) getGroupProcessStatus block stopped pgid = alloca $ \wstatp -> do - pid <- throwErrnoIfMinus1 "getGroupProcessStatus" + pid <- throwErrnoIfMinus1Retry "getGroupProcessStatus" (c_waitpid (-pgid) wstatp (waitOptions block stopped)) case pid of 0 -> return Nothing |