Re: [PATCH] [RFC] fix missed SIGCONT cases

From: Jiri Kosina
Date: Thu Feb 28 2008 - 10:40:59 EST


On Thu, 28 Feb 2008, Oleg Nesterov wrote:

> BTW, I think we have the same problem when handle_stop_signal() does
> do_notify_parent_cldstop(p, CLD_STOPPED) above. The multithreaded app in
> the middle of the group stop can resume without actually seeing SIGCONT,
> no?

Yes, I think so, this would also need fixing.

> Currently I have the very vagues idea, please see the "patch" below (it
> is not right of course, just for illustration).
> These unlock(->siglock)'s on the signal sending path are really nasty,
> it would be wonderfull to avoid them. Note also sig_needs_tasklist(),
> we take tasklist_lock() exactly because we will probably drop siglock.

Whould it be problematic to change do_notify_parent_cldstop() so that it
doesn't acquire siglock, but asumes that is is called with siglock held
instead? I can't immediately see any reason why this shouldn't be
possible.

> What do you think about the approach at least?

So it basically does the same thing my patch did -- postpones signalling
the parent until it is safe, right?

Thanks,

--
Jiri Kosina
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/