That seems to be the best solution. Thanks!
> ---
> --- 1.86/kernel/signal.c Mon Jun 2 13:37:11 2003
> +++ edited/kernel/signal.c Fri Jul 4 17:29:43 2003
> @@ -797,10 +797,11 @@
> int ret;
>
> spin_lock_irqsave(&t->sighand->siglock, flags);
> - if (t->sighand->action[sig-1].sa.sa_handler == SIG_IGN)
> + if (sigismember(&t->blocked, sig) || t->sighand->action[sig-1].sa.sa_handler == SIG_IGN) {
> t->sighand->action[sig-1].sa.sa_handler = SIG_DFL;
> - sigdelset(&t->blocked, sig);
> - recalc_sigpending_tsk(t);
> + sigdelset(&t->blocked, sig);
> + recalc_sigpending_tsk(t);
> + }
> ret = specific_send_sig_info(sig, info, t);
> spin_unlock_irqrestore(&t->sighand->siglock, flags);
>
>
Jörn
-- Simplicity is prerequisite for reliability. -- Edsger W. Dijkstra - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/