2002-02-28 14:56:59

by David Howells

[permalink] [raw]
Subject: thread groups bug?


If the master thread of a thread group (PID==TGID) performs an execve() then
it is possible to end up with two or more thread groups with the same TGID.

Would you be willing to have an execve() on the master thread kill all the
other threads? (And thus be slightly closer to POSIX compliance).

Similarly, if the master thread exits, should all the other threads be killed
too?

If a subsidary thread does an execve(), then what should happen? I can see two
ways of handling it: (1) Make it seem that the master thread did an execve(),
and kill all the other threads (which is closer to POSIX); and (2) allow the
child thread to depart the thread group and set up by itself (as happens now).

Of course, comparing the Linux "threading" system to POSIX threads doesn't
hold up very well:-/

David


2002-02-28 15:21:53

by Benjamin LaHaise

[permalink] [raw]
Subject: Re: thread groups bug?

On Thu, Feb 28, 2002 at 02:52:36PM +0000, David Howells wrote:
>
> If the master thread of a thread group (PID==TGID) performs an execve() then
> it is possible to end up with two or more thread groups with the same TGID.

How about: (3) make execve allocate a new thread group id?

-ben