Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ wait(2) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

exit(2)

fork(2)

intro(2)

pause(2)

ptrace(2)

signal(2)

signal(5)

wstat(5)



wait(2)                   SYSTEM CALLS                    wait(2)



NAME
     wait - wait for child process to stop or terminate

SYNOPSIS
     #include <sys/types.h>
     #include <sys/wait.h>

     pidt wait(int *statloc);

DESCRIPTION
     wait suspends the calling process until one of its immediate
     children  terminates  or  until a child that is being traced
     stops because it has received a  signal.   The  wait  system
     call  will  return  prematurely if a signal is received.  If
     all child processes stopped or terminated prior to the  call
     on wait, return is immediate.

     If wait returns because the status of  a  child  process  is
     available,  it  returns the process ID of the child process.
     If the calling process had specified a  non-zero  value  for
     stat_loc,  the status of the child process will be stored in
     the location pointed to by stat_loc.  It  may  be  evaluated
     with  the  macros  described on wstat(5).  In the following,
     status is the object pointed to by stat_loc:

          If the child process stopped, the high order 8 bits  of
          status  will  contain  the  number  of  the signal that
          caused the process to stop and the  low  order  8  bits
          will be set equal to WSTOPFLG.

          If the child process terminated due to  an  exit  call,
          the  low  order 8 bits of status will be 0 and the high
          order 8 bits will contain the low order 8 bits  of  the
          argument  that  the  child  process passed to exit; see
          exit(2).

          If the child process terminated due to  a  signal,  the
          high order 8 bits of status will be 0 and the low order
          8 bits will contain  the  number  of  the  signal  that
          caused  the  termination.  In  addition, if WCOREFLG is
          set, a ``core image'' will have been produced; see sig-
          nal(2).

     If wait returns because the status of  a  child  process  is
     available, then that status may be evaluated with the macros
     defined by wstat(5).

     If a parent process terminates without waiting for its child
     processes  to terminate, the parent process ID of each child
     process is set to 1.  This means the initialization  process
     inherits the child processes; see intro(2).




                                                                1





wait(2)                   SYSTEM CALLS                    wait(2)



     wait will fail if one or both of the following is true:

     ECHILD         The   calling   process   has   no   existing
                    unwaited-for child processes.

     EINTR          The function was interrupted by a signal.

SEE ALSO
     exec(2), exit(2), fork(2), intro(2), pause(2), ptrace(2),
     signal(2),
     signal(5), wstat(5).

NOTES
     See NOTES in signal(2).

     If SIGCLD is held, then wait does not recognize death of
     children.

DIAGNOSTICS
     If wait returns due to a stopped or terminated child pro-
     cess, the process ID of the child is returned to the calling
     process.  Otherwise, a value of -1 is returned and errno is
     set to indicate the error.
































                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026