From d804f5df602e6a348edcf7d2a2fe73b185bfbd34 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 6 Jan 2006 21:40:51 +0000 Subject: * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t): Don't give the union a name because it changes the mangled name. Instead name the struct for __data. * sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise. * pthread_create.c (start_thread): Adjust robust mutex free loop. * descr.h (ENQUEUE_MUTEX, DEQUEUE_MUTEX): Adjust. --- nptl/pthread_create.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'nptl/pthread_create.c') diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 2dbe58dcd4..94d424b1f2 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -311,25 +311,25 @@ start_thread (void *arg) atomic_bit_set (&pd->cancelhandling, EXITING_BIT); /* If this thread has any robust mutexes locked, handle them now. */ - pthread_mutex_t *robust = THREAD_GETMEM (pd, robust_list); + struct __pthread_mutex_s *robust = THREAD_GETMEM (pd, robust_list); if (__builtin_expect (robust != NULL, 0)) { do { - pthread_mutex_t *this = robust; - robust = robust->__data.__next; - - assert (lll_mutex_islocked (this->__data.__lock)); - this->__data.__count = 0; - --this->__data.__nusers; - assert (this->__data.__owner != PTHREAD_MUTEX_NOTRECOVERABLE); - this->__data.__owner = PTHREAD_MUTEX_OWNERDEAD; - this->__data.__next = NULL; + struct __pthread_mutex_s *this = robust; + robust = robust->__next; + + assert (lll_mutex_islocked (this->__lock)); + this->__count = 0; + --this->__nusers; + assert (this->__owner != PTHREAD_MUTEX_NOTRECOVERABLE); + this->__owner = PTHREAD_MUTEX_OWNERDEAD; + this->__next = NULL; #ifdef __PTHREAD_MUTEX_HAVE_PREV - this->__data.__prev = NULL; + this->__prev = NULL; #endif - lll_mutex_unlock (this->__data.__lock); + lll_mutex_unlock (this->__lock); } while (robust != NULL); -- cgit 1.4.1