From 81fa8fc3b886dde1cf134955ba14d76cb9251f49 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Fri, 21 Oct 2005 17:35:39 +0000 Subject: [PATCH] Don't enqueue processes unless their flags have become 0 --- kernel/system/do_exit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/system/do_exit.c b/kernel/system/do_exit.c index 6c144ffc9..38110f590 100644 --- a/kernel/system/do_exit.c +++ b/kernel/system/do_exit.c @@ -107,7 +107,7 @@ register struct proc *rc; /* slot of process to clean up */ #if DEBUG_ENABLE_IPC_WARNINGS kprintf("Proc %d receive dead src %d\n", proc_nr(rp), proc_nr(rc)); #endif - lock_enqueue(rp); /* let process run again */ + if (rp->p_rts_flags == 0) lock_enqueue(rp);/* let process run again */ } else if ((rp->p_rts_flags & SENDING) && rp->p_sendto == proc_nr(rc)) { rp->p_reg.retreg = EDSTDIED; /* report destination died */ @@ -115,7 +115,7 @@ register struct proc *rc; /* slot of process to clean up */ #if DEBUG_ENABLE_IPC_WARNINGS kprintf("Proc %d send dead dst %d\n", proc_nr(rp), proc_nr(rc)); #endif - lock_enqueue(rp); /* let process run again */ + if (rp->p_rts_flags == 0) lock_enqueue(rp);/* let process run again */ } }