Re: [PATCH] more sigkill priority fix

From: Roland McGrath
Date: Mon Sep 19 2005 - 04:08:43 EST


> Does that mean that it is incorrect to deliver one signal at a time?

Whenever there are pending unblocked signals, they need to be delivered
before running any more user code. If after setting up a signal handler
(and blocking signals for it), there is another unblocked signal pending,
then that must be delivered immediately. This can mean terminating the
process before the handler ever runs, or it can mean setting up another
signal handler frame starting from the context of the first handler frame.

The only change with this bug fix is that this reliably happens immediately.
Before, it would always happen pretty soon (except in a pathological case
with a bad stack). That is, the next preemption, system call, fault,
other trap, or external interrupt--anything that entered the kernel--would
check the pending signals properly before returning to user mode.


Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/