[hurd, commited] htl: Call thread-specific destructors for last thread too

Samuel Thibault <[email protected]>
Newsgroups gmane.os.hurd.cvs,gmane.comp.lib.glibc.alpha
Message-ID <[email protected]>
As required by posix.

Reported-by: Brent Baccala <[email protected]> 's Claude assistant
---
 htl/pt-exit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/htl/pt-exit.c b/htl/pt-exit.c
index ad60f063ed..e08b3252cf 100644
--- a/htl/pt-exit.c
+++ b/htl/pt-exit.c
@@ -55,15 +55,15 @@ __pthread_exit (void *status)
 
   __pthread_setcancelstate (oldstate, &oldstate);
 
+  /* Destroy any thread specific data.  */
+  __pthread_destroy_specific (self);
+
   /* Decrease the number of threads.  We use an atomic operation to
      make sure that only the last thread calls `exit'.  */
   if (atomic_fetch_add_relaxed (&__pthread_total, -1) == 1)
     /* We are the last thread.  */
     exit (0);
 
-  /* Destroy any thread specific data.  */
-  __pthread_destroy_specific (self);
-
   /* Note that after this point the process can be terminated at any
      point if another thread calls `pthread_exit' and happens to be
      the last thread.  */
-- 
2.51.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.