fix documentation for getAnyProcessStatus/getGroupProcessStatus (#5946)
authorSimon Marlow <marlowsd@gmail.com>
Fri, 23 Mar 2012 15:10:17 +0000 (15:10 +0000)
committerPaolo Capriotti <p.capriotti@gmail.com>
Sun, 1 Apr 2012 18:59:50 +0000 (19:59 +0100)
MERGED from commit e518038a0eca7dddbbd3d4326355db9c1d6f0068

System/Posix/Process/Common.hsc

index 47dea7c..790f55b 100644 (file)
@@ -318,12 +318,15 @@ foreign import ccall safe "waitpid"
   c_waitpid :: CPid -> Ptr CInt -> CInt -> IO CPid
 
 -- | @'getGroupProcessStatus' blk stopped pgid@ calls @waitpid@,
---   returning @'Just' (pid, tc)@, the 'ProcessID' and
---   'ProcessStatus' for any process in group @pgid@ if one is
---   available, 'Nothing' otherwise.  If @blk@ is 'False', then
---   @WNOHANG@ is set in the options for @waitpid@, otherwise not.
---   If @stopped@ is 'True', then @WUNTRACED@ is set in the
---   options for @waitpid@, otherwise not.
+--   returning @'Just' (pid, tc)@, the 'ProcessID' and 'ProcessStatus'
+--   for any process in group @pgid@ if one is available, or 'Nothing'
+--   if there are child processes but none have exited.  If there are
+--   no child processes, then 'getGroupProcessStatus' raises an
+--   'isDoesNotExistError' exception.
+--
+--   If @blk@ is 'False', then @WNOHANG@ is set in the options for
+--   @waitpid@, otherwise not.  If @stopped@ is 'True', then
+--   @WUNTRACED@ is set in the options for @waitpid@, otherwise not.
 getGroupProcessStatus :: Bool
                       -> Bool
                       -> ProcessGroupID
@@ -336,10 +339,15 @@ getGroupProcessStatus block stopped pgid =
       0  -> return Nothing
       _  -> do ps <- readWaitStatus wstatp
               return (Just (pid, ps))
+
 -- | @'getAnyProcessStatus' blk stopped@ calls @waitpid@, returning
 --   @'Just' (pid, tc)@, the 'ProcessID' and 'ProcessStatus' for any
---   child process if one is available, 'Nothing' otherwise.  If
---   @blk@ is 'False', then @WNOHANG@ is set in the options for
+--   child process if a child process has exited, or 'Nothing' if
+--   there are child processes but none have exited.  If there are no
+--   child processes, then 'getAnyProcessStatus' raises an
+--   'isDoesNotExistError' exception.
+--
+--   If @blk@ is 'False', then @WNOHANG@ is set in the options for
 --   @waitpid@, otherwise not.  If @stopped@ is 'True', then
 --   @WUNTRACED@ is set in the options for @waitpid@, otherwise not.
 getAnyProcessStatus :: Bool -> Bool -> IO (Maybe (ProcessID, ProcessStatus))