about summary refs log tree commit diff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-20 00:00:32 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-20 00:00:32 +0000
commited22820f2f786c9884bc047bffe58a3a6b4330f1 (patch)
tree957c67323fe37cbb6d1e59bfae6ecb63f159703d /linuxthreads
parenta70e514b69ff888191fc6b93c7c1276409345f96 (diff)
downloadglibc-ed22820f2f786c9884bc047bffe58a3a6b4330f1.tar.gz
glibc-ed22820f2f786c9884bc047bffe58a3a6b4330f1.tar.xz
glibc-ed22820f2f786c9884bc047bffe58a3a6b4330f1.zip
UPdate.
2003-02-19  Ulrich Drepper  <drepper@redhat.com>

	* specific.c (pthread_key_delete_helper): Don't use GETMEM, we
	need the target thread's lock.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/specific.c4
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  <drepper@redhat.com>
+
+	* specific.c (pthread_key_delete_helper): Don't use GETMEM, we
+	need the target thread's lock.
+
 2003-02-17  Ulrich Drepper  <drepper@redhat.com>
 
 	* 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);
   }
 }