    WAIT(II)                      2/9/75                     WAIT(II)

    NAME
         wait - wait for process to terminate

    SYNOPSIS
         (wait = 7.)
         sys  wait
         (process ID in r0)
         (status in r1)

         wait(status)
         int *status;

    DESCRIPTION
         Wait  causes its caller to delay until one of its child pro-
         cesses terminates.  If any child has  died  since  the  last
         wait,  return is immediate; if there are no children, return
         is immediate with the error bit set (resp. with a  value  of
         -1  returned).   The  normal return yields the process ID of
         the terminated child (in r0).  In the case of several  chil-
         dren  several  wait  calls  are  needed  to learn of all the
         deaths.

         If no error is indicated on return, the r1 high byte  (resp.
         the  high byte stored into status ) contains the low byte of
         the child process r0 (resp. the argument of exit )  when  it
         terminated.   The  r1 (resp.  status ) low byte contains the
         termination status of the process.  See signal(II)  for  a
         list  of  termination statuses (signals); 0 status indicates
         normal termination.  A special status (0177) is returned for
         a  stopped  process  which  has  not  terminated  and can be
         restarted.  See ptrace(II).  If the 0200 bit of the  termi-
         nation  status  is set, a core image of the process was pro-
         duced by the system.

         If the parent process  terminates  without  waiting  on  its
         children, the initialization process (process ID = 1) inher-
         its the children.

    SEE ALSO
         exit(II), fork(II), signal(II)

    DIAGNOSTICS
         The error bit (c-bit) is set if there are  no  children  not
         previously waited for.  From C, a returned value of -1 indi-
         cates an error.

                                  - 1 -