|
|
1.1 root 1: .pa 1
2: .he 'WAIT (II)'9/4/72'WAIT (II)'
3: .ti 0
4: NAME wait -- wait for process to die
5: .sp
6: .ti 0
7: SYNOPSIS sys wait / wait = 7.
8: .br
9: (process ID in r0)
10: .br
11: (termination status/user status in r1)
12: .sp
13: .ti 0
14: DESCRIPTION wait____
15: causes its caller to delay until one of its child
16: processes terminates.
17: If any child has died since the last wait____, return is immediate;
18: if there are no children, return is immediate with
19: the error bit set.
20: In the case of several children several wait____s are needed
21: to learn of all the deaths.
22: .sp
23: If the error bit is not set on return,
24: the r1 high byte contains the low byte of the
25: child process r0 when it terminated.
26: The r1 low byte contains the termination status
27: of the process from the following list:
28: .sp
29: 0 exit
30: 1 bus error
31: 2 illegal instruction
32: 3 trace trap
33: 4 IOT trap
34: 5 power fail trap
35: 6 EMT trap
36: 7 bad system call
37: 8 PIR interrupt
38: 9 floating point exception
39: 10 memory violation
40: 11 quit
41: 12 interrupt
42: 13 kill (see kill(II))
43: 14 User I/O (not currently possible)
44: +16 core image produced
45: .sp
46: .ti 0
47: SEE ALSO exit(II), fork(II)
48: .sp
49: .ti 0
50: DIAGNOSTICS error bit
51: (c-bit) on if no children not previously waited for.
52: .sp
53: .ti 0
54: BUGS A child
55: which dies, but is never
56: waited for consumes
57: a slot in the process table.
58: When this table is full,
59: the system is effectively hung.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.