--- kernel/exit.c.original Mon Aug 5 09:09:31 2002 +++ kernel/exit.c Mon Aug 5 12:26:38 2002 @@ -176,7 +176,6 @@ if (p->p_opptr == father) { /* We dont want people slaying init */ p->exit_signal = SIGCHLD; - p->self_exec_id++; /* Make sure we're not reparenting to ourselves */ if (p == reaper) --- kernel/signal.c.original Mon Aug 5 12:26:49 2002 +++ kernel/signal.c Mon Aug 5 12:34:44 2002 @@ -16,6 +16,8 @@ #include +extern struct task_struct* child_reaper; + /* * SLAB caches for signal bits. */ @@ -772,6 +774,9 @@ struct siginfo info; int why, status; + if (tsk->p_pptr==child_reaper) { + sig=SIGCHLD; + } info.si_signo = sig; info.si_errno = 0; info.si_pid = tsk->pid;