|
|
1.1 root 1: /* @(#)wait3.c 4.2 (Berkeley) 12/28/82 */
2:
3: /*
4: * C library -- wait3
5: *
6: * pid = wait3(&status, flags, &rusage);
7: *
8: * pid == -1 if error
9: * status indicates fate of process, if given
10: * flags may indicate process is not to hang or
11: * that untraced stopped children are to be reported.
12: * rusage optionally returns detailed resource usage information
13: */
14: #include "SYS.h"
15:
16: #define SYS_wait3 SYS_wait
17:
18: ENTRY(wait3)
19: movl 8(ap),r0 /* make it easy for system to get */
20: movl 12(ap),r1 /* these extra arguments */
21: bispsw $0xf /* flags wait3() */
22: chmk $SYS_wait3
23: bcc noerror
24: movl r0,_errno
25: mnegl $1,r0
26: ret
27: noerror:
28: tstl 4(ap) /* status desired? */
29: beql nostatus /* no */
30: movl r1,*4(ap) /* store child's status */
31: nostatus:
32: ret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.