man(1) Manual page archive

sys-wait(2) - Unix First Edition Manual Page
11/3/71SYS_WAIT (II)

NAME wait -- wait for process to die
SYNOPSIS sys wait / wait = 7.(process ID in r0)


DESCRIPTION wait causes its caller to delay until one of its child processesterminates. If any child has already died, return is immediate; if


there are no children, return is immediate with the error bit set. Inthe case of several children several waits are needed to learn of all the deaths.
FILES
SEE_ALSO fork
DIAGNOSTICS error bit (c--bit) on if no children not previously waited for.
BUGS A child which dies but is never waited for is not really gone in thatit still consumes disk swap and system table space. This can make it


impossible to create new processes. The bug can be noticed whenseveral & separators are given to the shell not followed by an command without an ampersand. Ordinarily things clean themselves upwhen an ordinary command is typed, but it is possible to get into a situation in which no commands are accepted, so no waits are done;the system is then hung.


The fix, probably, is to have a new kind of fork which creates aprocess for which no wait is necessary (or possible); also to limit the number of active or inactive descendants allowed to a process.
OWNER ken, dmr