BSD 4_1_snap development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Thu, 15 May 1980 17:24:05 +0000 (09:24 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Thu, 15 May 1980 17:24:05 +0000 (09:24 -0800)
Work on file usr/src/lib/libjobs/wait3.s

Synthesized-from: CSRG/cd1/4.1.snap

usr/src/lib/libjobs/wait3.s [new file with mode: 0644]

diff --git a/usr/src/lib/libjobs/wait3.s b/usr/src/lib/libjobs/wait3.s
new file mode 100644 (file)
index 0000000..5505fd7
--- /dev/null
@@ -0,0 +1,30 @@
+# 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