diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-01-11 04:02:40 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-01-11 04:02:40 +0000 |
commit | e47f00743fc4776491344f2c618cc8dc2c23bcbc (patch) | |
tree | 13e03a113a82a184c51c19c209867cfd3a59b3b9 /kernel/signal.c | |
parent | b2ad5f821b1381492d792ca10b1eb7a107b48f14 (diff) |
Merge with Linux 2.4.0.
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index c6ec0cb7b..f93ee1d71 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -751,16 +751,6 @@ void do_notify_parent(struct task_struct *tsk, int sig) status = tsk->exit_code & 0x7f; why = SI_KERNEL; /* shouldn't happen */ switch (tsk->state) { - case TASK_ZOMBIE: - if (tsk->exit_code & 0x80) - why = CLD_DUMPED; - else if (tsk->exit_code & 0x7f) - why = CLD_KILLED; - else { - why = CLD_EXITED; - status = tsk->exit_code >> 8; - } - break; case TASK_STOPPED: /* FIXME -- can we deduce CLD_TRAPPED or CLD_CONTINUED? */ if (tsk->ptrace & PT_PTRACED) @@ -770,8 +760,14 @@ void do_notify_parent(struct task_struct *tsk, int sig) break; default: - printk(KERN_DEBUG "eh? notify_parent with state %ld?\n", - tsk->state); + if (tsk->exit_code & 0x80) + why = CLD_DUMPED; + else if (tsk->exit_code & 0x7f) + why = CLD_KILLED; + else { + why = CLD_EXITED; + status = tsk->exit_code >> 8; + } break; } info.si_code = why; |