WAIT(2-SVR4) RISC/os Reference Manual WAIT(2-SVR4)
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).
Printed 11/19/92 Page 1
WAIT(2-SVR4) RISC/os Reference Manual WAIT(2-SVR4)
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.
Page 2 Printed 11/19/92