Re: Fix signalfd interaction with thread-private signals

Oleg Nesterov
2007-06-22T08:40:36Z

On 06/22, Benjamin Herrenschmidt wrote:
>
> Yeah well... I wanted to have the least surprise path... that is,
> without my patch, signalfd will "sometimes" steal the SIGSEGV depending
> on who races to the lock first, thus causing the target thread to
> re-execute the faulting instruction and taking another SIGSEGV, and
> sometimes not. It's bad from both the faulting thread point of view and
> the signalfd use who gets signals "sometimes" without any guarantee.
>
> I like the current code that at least implement a precise semantic for
> all thread local signals -> they are only ever delivered to that thread,
> period. If you really want to do funky things from outside, you can
> still do ptrace ;-)

OK. But in that case I think we should go further, and make signalfd
"per process", not "per thread", see

http://marc.info/?l=linux-kernel&m=118241815219430

Every thread gets its own local signals plus shared ones.

(I promise, this is the last piece of spam from me on this topic, but
please-please-please nack this patch explicitly if you don't like it :)

Oleg.