|
|
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.