Re: [patch] threading fix, tid-2.5.47-A3

From: Linus Torvalds (torvalds@transmeta.com)
Date: Sun Nov 17 2002 - 13:54:42 EST


On Sun, 17 Nov 2002, Ulrich Drepper wrote:
>
> It doesn't do this. Ingo's description simply wasn't right.
>
> The syscall is used in one place and this is when the thread library
> gets initialized. I never gets used unconditionally and in situations
> where the process is not prepared.

Ok, good. That means that "sys_set_userpid()" is fine with me.

That still leaves the other part of the patch. I do not think that SETTID
and CLEARTID should be mixed together. There are perfectly valid reasons
why a parent wants SETTID even when it _doesn't_ want CLEARTID.

In fact, SETTID is clearly useful even without threads, and exactly for
the case that Ingo apparently broke with his patch: the parent wants to
atomically save the TID of the child in the _parents_ address space (so
that a immediate SIGCHLD won't be racy with saving off the pid by the
parent).

So Ingo, please send me just the sys_set_userpid() parts, and revert your
broken code that made SETTID do bad things and only work for threads.

There's no reason to make SETTID/CLEARTID be one flag, since they are
clearly different things, and NPTL can just always set both bits if that
is the behaviour glibc wants (and I agree with that behaviour, of course.
I just disagree with not allowing others to do different things).

                        Linus

-
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/



This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:19 EST