Messages in this thread | | | Date | Sat, 8 Mar 2008 00:32:17 +0300 | From | Oleg Nesterov <> | Subject | Re: [PATCH] signals: do_tkill: don't use tasklist_lock |
| |
On 03/07, Roland McGrath wrote: > > > Btw, a question: we are buggy or just "not perfect" ? After all, the > > main thread actually exits although this is just linux's implementation > > detail. > > I think it's buggy. The SIGKILL should kill the whole process.
OK.
> > Suppose that the main thread is already dead (dequeued SIGKILL), but > > not yet released. This window is not that small. In that window (before > > de_thread() switches pids) any private signal (even SIGKILL) sent to the > > main thread will be silently lost. > > This is the big problem with exec that I've cited before. It can even > happen with group-wide signals that should be fatal, but avoided the > __group_complete_signal special fatal case. (e.g. the thread racing with > the exec thread just now unblocked the signal and dequeued it.) IIRC it > was the biggest reason we wanted to revisit the whole MT exec plan.
Oh. Could you clarify? Afaics, currently exec() can't miss the fatal group signal?
> > We can change __group_complete_signal/zap_other_threads so that they won't > > do sigaddset(), just signal_wake_up(). But in that case dequeue_signal() > > and recalc_signal() should take signal_group_exit into account... > > I'd like to revisit the use of "fake" SIGKILL for group exits. That goes > well with a rethink of MT exec. But let's not get into all of that right now.
Yes.
Oleg.
| |