Messages in this thread | | | From | Roland McGrath <> | Subject | Re: [PATCH] more sigkill priority fix | Date | Mon, 19 Sep 2005 02:08:04 -0700 (PDT) |
| |
> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |