2.9BSD/usr/man/man2/wait.2

Compare this file to the similar file:
Show the results in this format:

.TH WAIT 2 
.UC
.SH NAME
wait \- wait for process to terminate
.SH SYNOPSIS
.B wait(status)
.br
.B int *status;
.PP
.B wait((int *) 0)
.SH DESCRIPTION
.I Wait
causes its caller to delay until a signal is received or
one of its child
processes terminates.
If any child has died since the last
.I 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 the case of several children several
.I wait
calls are needed
to learn of all the deaths.
.PP
If
.RI (int) status
is nonzero, the high byte of the word pointed to
receives the low byte of the
argument of
.I exit
when the child terminated.
The low byte
receives the termination status
of the process.
See
.IR signal (2)
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
.IR ptrace (2).
If the 0200 bit of the termination status
is set,
a core image of the process was produced
by the system.
.PP
If the parent process terminates without
waiting on its children,
the initialization process
(process ID = 1)
inherits the children.
.SH RETURN VALUE
If
.I wait
returns due to the receipt of a signal, a value of \-1 is returned to the
calling process and the
.I errno
is set to EINTR.  If
.I wait
returns due to a stopped or terminated child process, the process ID of the
child is returned to the calling process.  Otherwise, a value of \-1 is
returned and
.I errno
is set to indicate the error.
.SH ERRORS
.I Wait
will fail and return immediately if one or more of the following is true:
.TP 20
[ECHILD]
The calling process has no unwaited-for child processes.
.TP 20
[EFAULT]
The
.I status
argument points to an address outside the process's allocated address space.
.SH "SEE ALSO"
exit(2), fork(2), signal(2), wait2(2J)
.SH ASSEMBLER
(wait = 7.)
.br
.B sys  wait
.br
(process ID in r0)
.br
(status in r1)
.PP
The high byte of the status is
the low byte of r0 in the child at termination.