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