Re: And now for something _totally_ different: Linux v2.6.22-rc5

Oleg Nesterov
2007-06-18T13:42:30Z

On 06/17, Davide Libenzi wrote:
>
> On Sun, 17 Jun 2007, Nicholas Miell wrote:
> >
> > But there's still no way for multiple threads to read from a single
> > signalfd and get their own thread-specific signals in addition to
> > process-wide signals, right? I think this was agreed to be the least
> > surprising behavior.
>
> Multiple threads can wait on the signalfd. Each one will dequeue either
> its own private signals (tsk->pending) or the process shared ones
> (tsk->signal->shared_pending). This will be the behaviour once Ben's patch
> is applied.

What if we pass a signalfd to another process with unix socket? Which signals
should be dequeued in that case? Only shared ones?

I tried to follow this discussion, but I can't understans why the current
behaviour is bad.

Yes, a thread has to create its own signalfd if it wants to dequeue private
signals. But this is simple and understandable. May be I missed something
else ?

Oleg.