From ed22820f2f786c9884bc047bffe58a3a6b4330f1 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 20 Feb 2003 00:00:32 +0000 Subject: [PATCH] UPdate. 2003-02-19 Ulrich Drepper * specific.c (pthread_key_delete_helper): Don't use GETMEM, we need the target thread's lock. --- linuxthreads/ChangeLog | 5 +++++ linuxthreads/specific.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index cc2f38d81c..f05881dd82 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,8 @@ +2003-02-19 Ulrich Drepper + + * specific.c (pthread_key_delete_helper): Don't use GETMEM, we + need the target thread's lock. + 2003-02-17 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX diff --git a/linuxthreads/specific.c b/linuxthreads/specific.c index 0956ed1983..aa8fcb5ab3 100644 --- a/linuxthreads/specific.c +++ b/linuxthreads/specific.c @@ -80,10 +80,10 @@ static void pthread_key_delete_helper(void *arg, pthread_descr th) if (!th->p_terminated) { /* pthread_exit() may try to free th->p_specific[idx1st] concurrently. */ - __pthread_lock(THREAD_GETMEM(th, p_lock), self); + __pthread_lock(th->p_lock, self); if (th->p_specific[idx1st] != NULL) th->p_specific[idx1st][idx2nd] = NULL; - __pthread_unlock(THREAD_GETMEM(th, p_lock)); + __pthread_unlock(th->p_lock); } }