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);
pid = p->pid;
p->state = UNUSED;
p->pid = 0;
+ p->ppid = 0;
release(&proc_table_lock);
return pid;
}