diff options
author | Roland McGrath <roland@gnu.org> | 2003-02-22 08:33:25 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-02-22 08:33:25 +0000 |
commit | 12d7ca07e2ec81d96ed292ca0ba7922bb4d12193 (patch) | |
tree | ea073906899518ba56211c738dbc0b7c5fa6870b | |
parent | 71028edd8f9ddbc05f0013d434e0b5cbceee2148 (diff) | |
download | glibc-12d7ca07e2ec81d96ed292ca0ba7922bb4d12193.tar.gz glibc-12d7ca07e2ec81d96ed292ca0ba7922bb4d12193.tar.xz glibc-12d7ca07e2ec81d96ed292ca0ba7922bb4d12193.zip |
2003-02-21 Roland McGrath <roland@redhat.com>
* pthread_create.c (start_thread): Call __libc_thread_freeres.
-rw-r--r-- | nptl/pthread_create.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index bac7455af8..40a95c6f91 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -25,6 +25,7 @@ #include <hp-timing.h> #include <ldsodefs.h> #include <atomic.h> +#include <libc-internal.h> #include <shlib-compat.h> @@ -227,6 +228,8 @@ start_thread (void *arg) pd->result = pd->start_routine (pd->arg); } + /* Clean up any state libc stored in thread-local variables. */ + __libc_thread_freeres (); /* If this is the last thread we terminate the process now. We do not notify the debugger, it might just irritate it if there @@ -235,7 +238,6 @@ start_thread (void *arg) /* This was the last thread. */ exit (0); - /* Report the death of the thread if this is wanted. */ if (__builtin_expect (pd->report_events, 0)) { |