diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 5 | ||||
-rw-r--r-- | linuxthreads/cancel.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 4b86627f17..b9045932bd 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,8 @@ +2002-08-02 Ulrich Drepper <drepper@redhat.com> + + * cancel.c (__pthread_perform_cleanup) [USE_TLS && HAVE___THREAD]: + Don't use p_libc_specific element in thread descriptor. + 2002-07-30 Roland McGrath <roland@redhat.com> * sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>. diff --git a/linuxthreads/cancel.c b/linuxthreads/cancel.c index 5649bc41c6..47c0bfee04 100644 --- a/linuxthreads/cancel.c +++ b/linuxthreads/cancel.c @@ -202,8 +202,13 @@ void __pthread_perform_cleanup(char *currentframe) } /* And the TSD which needs special help. */ +#if !(USE_TLS && HAVE___THREAD) if (THREAD_GETMEM(self, p_libc_specific[_LIBC_TSD_KEY_RPC_VARS]) != NULL) __rpc_thread_destroy (); +#else + if (__libc_tsd_get (RPC_VARS) != NULL) + __rpc_thread_destroy (); +#endif } #ifndef SHARED |