diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-03-31 01:47:34 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-03-31 01:47:34 +0000 |
commit | 3fa21fd813ac323f2890812b99663d7cf17578eb (patch) | |
tree | 4a98c7119b18fd5c91368eb8e95c4371ee71fc54 /sysdeps/generic/libc-start.c | |
parent | a70e964ee0ec3827b4d24ed3fbff1b614b1a0269 (diff) | |
download | glibc-3fa21fd813ac323f2890812b99663d7cf17578eb.tar.gz glibc-3fa21fd813ac323f2890812b99663d7cf17578eb.tar.xz 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/generic/libc-start.c')
-rw-r--r-- | sysdeps/generic/libc-start.c | 8 |
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; |