Re: Fix signalfd interaction with thread-private signals

Davide Libenzi
2007-06-22T23:01:36Z

On Fri, 22 Jun 2007, Linus Torvalds wrote:

> Quite frankly, it strikes me that if we want to do this, then we shouldn't
> save the _process_ information at all, we should save the "sighand"
> instead.
>
> So either we save the process info, or we save the sighand, but saving the
> "group_leader" seems totally bogus. Especially as the group leader can
> change (by execve()).
>
> One thing that strikes me as I look at that function is that the whole
> signalfd thing doesn't seem to do any reference counting. Ie it looks
> totally buggy wrt passing the resulting fd off to somebody else, and then
> exiting in the original process.
>
> What did I miss?

We intercept the sighand going out of business, and we do not access it
anymore after that (by the mean of signalfd_lock() returning zero).
I'd be OK with Oleg patch, although I really prefer signalfd being more
flexible (that is, with sync signals disabled in signalfd, and with Ben's
patch reverted). Unless clear point of breakage are shown with such
approach.

- Davide