V10/libc/sys/wait3.s
# C library -- wait3
# pid = wait3(&status, flags, &vmstat);
#
# pid == -1 if error
# status indicates fate of process, if given
# flags may indicate process is not to hang or
# that untraced stopped children are to be reported.
# vmstat optionally returns detailed resource usage information
#
.set wait3,7 # same as wait!
.globl _wait3
.globl cerror
.align 1
_wait3:
.word 0x0000
movl 8(ap),r0 # make it easy for system to get
movl 12(ap),r1 # these extra arguments
bispsw $0xf # flags wait3()
chmk $wait3
bcc noerror
jmp cerror
noerror:
tstl 4(ap) # status desired?
beql nostatus # no
movl r1,*4(ap) # store child's status
nostatus:
ret