11/3/71 SYS 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 processes terminates. If any child has al- ready died, return is immediate; if there are no children, return is immediate with the error bit set. In the 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 previ- ously waited for. BUGS A child which dies but is never waited for is not really gone in that it still consumes disk swap and system table space. This can make it impos- sible to create new processes. The bug can be noticed when several "&" separators are given to the shell not followed by a command without an ampersand. Ordinarily things clean themselves up when an ordinary command is typed, but is possi- ble 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 a process for which no wait is nec- essary (or possible); also to limit the number of active or inactive descendants allowed to a pro- cess. OWNER ken, dmr