Home | History | Annotate | Download | only in libiberty
      1 /*
      2 
      3 @deftypefn Supplemental int waitpid (int @var{pid}, int *@var{status}, int)
      4 
      5 This is a wrapper around the @code{wait} function.  Any ``special''
      6 values of @var{pid} depend on your implementation of @code{wait}, as
      7 does the return value.  The third argument is unused in @libib{}.
      8 
      9 @end deftypefn
     10 
     11 */
     12 
     13 #ifdef HAVE_CONFIG_H
     14 #include "config.h"
     15 #endif
     16 #include "ansidecl.h"
     17 
     18 /* On some systems (such as WindISS), you must include <sys/types.h>
     19    to get the definition of "pid_t" before you include <sys/wait.h>.  */
     20 #include <sys/types.h>
     21 
     22 #ifdef HAVE_SYS_WAIT_H
     23 #include <sys/wait.h>
     24 #endif
     25 
     26 pid_t
     27 waitpid (pid_t pid, int *stat_loc, int options ATTRIBUTE_UNUSED)
     28 {
     29   for (;;)
     30     {
     31       int wpid = wait(stat_loc);
     32       if (wpid == pid || wpid == -1)
     33 	return wpid;
     34     }
     35 }
     36