From 1133b215d8ce5f72d2252cf19b81fc29289d0b38 Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 7 Sep 2006 01:56:22 +0000 Subject: [PATCH] more defensive programming --- proc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/proc.c b/proc.c index 8aa1ff1..06ee2fd 100644 --- a/proc.c +++ b/proc.c @@ -371,7 +371,9 @@ proc_wait(void) havekids = 0; for(i = 0; i < NPROC; i++){ p = &proc[i]; - if(p->state != UNUSED && p->ppid == cp->pid){ + if(p->state == UNUSED) + continue; + if(p->ppid == cp->pid){ if(p->state == ZOMBIE){ // Found one. kfree(p->mem, p->sz); @@ -379,6 +381,7 @@ proc_wait(void) pid = p->pid; p->state = UNUSED; p->pid = 0; + p->ppid = 0; release(&proc_table_lock); return pid; }