Messages in this thread | | | Date | Mon, 13 Aug 2007 12:26:15 +0400 | From | Oleg Nesterov <> | Subject | Re: [PATCH 3/4] signalfd: fix interaction with posix-timers |
| |
On 08/12, Roland McGrath wrote: > > This only affects signalfd and so the core change seems ok vs status quo. > > I think it would be better overall not to have anyone like signalfd calling > dequeue_signal in its current form at all. (The function is too much an > internal piece of the core signals code. The SIGNAL_STOP_DEQUEUED code > applying for signalfd calls is probably another problem, for example.)
I agree, the "tsk != current" case is not nice. We can forbid fetching signals from another thread group and remove it, this is very easy. Until then, we can't avoid it without the code duplication.
But SIGNAL_STOP_DEQUEUED code should be OK, afaics. We only need it to make sure do_signal_stop() can't miss SIGNAL_STOP_CONTINUED/GROUP_EXIT.
Can't we remove SIGNAL_STOP_DEQUEUED, btw?
dequeue_signal:
if (sig_kernel_stop(sig)) ->flags &= ~SIGNAL_STOP_CONTINUED;
do_signal_stop:
if (flags & (SIGNAL_STOP_CONTINUED | SIGNAL_GROUP_EXIT)) return 0;
Possible?
Oleg.
- 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/
| |