Re: + exitc-call-proc_exit_connector-after-exit_state-is-set.patch added to -mm tree

From: Guillaume Morin
Date: Thu Feb 27 2014 - 13:26:38 EST


On 27 Feb 17:47, Oleg Nesterov wrote:
> Anyway, I only tried to say that "a small window between when the event
> is delivered and the child become wait()-able." is not closed by this
> patch. Sorry for not being clear enough.

Ok, thanks for it making it clear.

> Nevermind. Please consider this trivial example:
>
> tfunc(void *)
> {
> for (;;)
> pause();
> }
>
> int main(void)
> {
> pthread_create(tfunc);
> pthread_exit();
> }
>
> The main thread can exit and call proc_exit_connector() before
> register_interest_for_pid(), but WNOHANG obviously can't succeed.

What matters is not the exit message of the main thread but the exit
message from the last threaded dying. In your example, it's fine that
waitpid fails since the process is still around. If you kill it, the
connector will get a connector message for the thread you created in
main().

> But let me repeat just in case: I am not arguing with this change.

That was my understanding from my message. But I wanted to respond to
make sure I understood your points correctly.

Thanks for your help. I appreciate it.

Guillaume.

--
Guillaume Morin <guillaume@xxxxxxxxxxx>
--
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/