From 6bf59c0d9ac96d12228463529e231e2af1bb24ff Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Tue, 22 Mar 1994 22:12:00 +0000 Subject: Formerly wait.c.~2~ --- proc/wait.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'proc') diff --git a/proc/wait.c b/proc/wait.c index a801c99b..eeeccdaa 100644 --- a/proc/wait.c +++ b/proc/wait.c @@ -203,6 +203,9 @@ S_proc_wait (struct proc *p, if (options & WNOHANG) return EWOULDBLOCK; + + if (p->p_waiting) + return EBUSY; p->p_waiting = 1; w = &p->p_continuation.wait_c; @@ -278,8 +281,8 @@ S_proc_mark_traced (struct proc *p) /* Implement proc_mark_nostopchild as described in . */ error_t -S_proc_mark_nostopchild (struct proc *p, - int value) +S_proc_mod_stopchild (struct proc *p, + int value) { p->p_nostopcld = !! value; return 0; @@ -298,7 +301,7 @@ zombie_check_pid (pid_t pid) /* Implement interrupt_operation as described in . */ error_t -interrupt_operation (mach_port_t object) +S_interrupt_operation (mach_port_t object) { struct proc *p = reqport_find (object); @@ -307,7 +310,7 @@ interrupt_operation (mach_port_t object) if (p->p_waiting) abort_wait (p); - else if (p->p_msgportwait) + if (p->p_msgportwait) abort_getmsgport (p); return 0; -- cgit v1.2.3