Re: Fix signalfd interaction with thread-private signals

Nicholas Miell
2007-06-23T22:55:17Z

On Sat, 2007-06-23 at 16:05 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2007-06-22 at 17:12 -0700, Davide Libenzi wrote:
> > Wasn't it you that bitched (just a few days ago) because multiple
> > threads
> > could not use the same signalfd and they (by your initial thought) had
> > to
> > create one per thread?
>
> He said multiple process and you say multiple threads...
>
> If signalfd isn't attached to any context, it would then be useable by
> all threads in a process, delivering them their private signals and the
> process shared signals. Makes sense to me.
>
> By removing that context thing, you lose the ability to listen to some
> other -process- signals, which is probably a bad idea in the first place
> anyway... if you're going to do that, use ptrace (yuck) :-)
>
> Now, you -might- have valid uses for that later ability, but if not, it
> then makes some sense to only "attach" when an actual read or poll is
> done and only for the duration of that read/poll and only for that
> reader/poller (not the whole signalfd instance).
>
> I think that's what Nicholas means... and it may even simplify the code.
>

That is what I was suggesting, but I don't understand the internals of
Linux signal delivery enough to know if it is possible without
unpleasant contortions to make it work.

--
Nicholas Miell <nmiell@comcast.net>