about summary refs log tree commit diff
path: root/htl/pt-exit.c
diff options
context:
space:
mode:
Diffstat (limited to 'htl/pt-exit.c')
-rw-r--r--htl/pt-exit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/htl/pt-exit.c b/htl/pt-exit.c
index b1cbe85861..22b585bb28 100644
--- a/htl/pt-exit.c
+++ b/htl/pt-exit.c
@@ -46,6 +46,12 @@ __pthread_exit (void *status)
        *handlers = (*handlers)->__next)
     (*handlers)->__handler ((*handlers)->__arg);
 
+  /* Call destructors for the thread_local TLS variables.  */
+#ifndef SHARED
+  if (&__call_tls_dtors != NULL)
+#endif
+    __call_tls_dtors ();
+
   __pthread_setcancelstate (oldstate, &oldstate);
 
   /* Decrease the number of threads.  We use an atomic operation to