[LTP] [PATCH v2] pthread_detach_1-2: Fix failure on modern glibc

Martin Doucha mdoucha@suse.cz
Fri Jun 12 10:38:34 CEST 2026


On 6/12/26 04:05, Wei Gao wrote:
> On Thu, Jun 11, 2026 at 05:33:31PM +0200, Martin Doucha wrote:
>> Hi,
>> this looks like trying to hide a glibc bug to me. I've looked at both the
>> POSIX standard and Linux man pages and there is no mention that already
>> exited threads may be left joinable. I think we should report this as a bug
>> and wait for response from glibc maintainers.
> 
> I think is actually not a glibc bug, but correct behavior under POSIX.
> 
> Link: The Open Group - pthread_detach (https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_detach.html)
> 
> Wording:
> 1)Under the DESCRIPTION section, it explicitly states:
>      > "The behavior is undefined if the value specified by the thread argument to pthread_detach() does not refer to a joinable thread."

Every thread that was created as joinable remains joinable until one of 
two things happens:
1) It gets joined by pthread_join(). In this case, the thread handle 
becomes invalid.
2) It gets detached by pthread_detach().

If a thread has already exited before it got detached, it is still 
joinable, otherwise pthread_join() would be fundamentally broken.

But POSIX issue 7 has also changed the specification of errors for 
pthread_join() and calling it on invalid thread handle is now undefined 
behavior. I think we should drop the test entirely, the scenario is no 
longer valid according to the latest POSIX.

-- 
Martin Doucha   mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic


More information about the ltp mailing list