aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-31 01:47:34 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-31 01:47:34 +0000
commit3fa21fd813ac323f2890812b99663d7cf17578eb (patch)
tree4a98c7119b18fd5c91368eb8e95c4371ee71fc54 /sysdeps
parenta70e964ee0ec3827b4d24ed3fbff1b614b1a0269 (diff)
downloadglibc-3fa21fd813ac323f2890812b99663d7cf17578eb.tar
glibc-3fa21fd813ac323f2890812b99663d7cf17578eb.tar.gz
glibc-3fa21fd813ac323f2890812b99663d7cf17578eb.tar.bz2
glibc-3fa21fd813ac323f2890812b99663d7cf17578eb.zip
Update.
2004-03-30 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/libc-start.c (LIBC_START_MAIN) [HAVE_CLEANUP_JMP_BUF]: Call __nptl_deallocate_tsd.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/libc-start.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/generic/libc-start.c b/sysdeps/generic/libc-start.c
index b92ab04fdb..fc9df40996 100644
--- a/sysdeps/generic/libc-start.c
+++ b/sysdeps/generic/libc-start.c
@@ -210,6 +210,14 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
}
else
{
+ /* Remove the thread-local data. */
+# ifdef SHARED
+ __libc_pthread_functions.ptr__nptl_deallocate_tsd ();
+# else
+ extern void __nptl_deallocate_tsd (void) __attribute ((weak));
+ __nptl_deallocate_tsd ();
+# endif
+
/* One less thread. Decrement the counter. If it is zero we
terminate the entire process. */
result = 0;