From 31f93b3b72ddcce47d867720f0b53016166dc667 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 9 Sep 2004 04:59:02 +0000 Subject: [BZ #375] Update. 2004-09-08 Ulrich Drepper * sysdeps/pthread/pthread.h (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Make safe for C++. (PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise. (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise. (PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Likewise. [BZ #375] --- nptl/ChangeLog | 9 +++++++++ nptl/sysdeps/pthread/pthread.h | 32 ++++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index f382a0080c..ea56746894 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,12 @@ +2004-09-08 Ulrich Drepper + + * sysdeps/pthread/pthread.h + (PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP): Make safe for C++. + (PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP): Likewise. + (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP): Likewise. + (PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Likewise. + [BZ #375] + 2004-09-07 Ulrich Drepper * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Allow diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h index 1b0463c10c..c4c9ec808c 100644 --- a/nptl/sysdeps/pthread/pthread.h +++ b/nptl/sysdeps/pthread/pthread.h @@ -27,6 +27,7 @@ #include #include #include +#include /* Detach state. */ @@ -63,12 +64,21 @@ enum #define PTHREAD_MUTEX_INITIALIZER \ { } #ifdef __USE_GNU -# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ - { .__data = { .__kind = PTHREAD_MUTEX_RECURSIVE_NP } } -# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ - { .__data = { .__kind = PTHREAD_MUTEX_ERRORCHECK_NP } } -# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ - { .__data = { .__kind = PTHREAD_MUTEX_ADAPTIVE_NP } } +# if __WORDSIZE == 64 +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } } +# else +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ + { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } } +# endif #endif @@ -87,8 +97,14 @@ enum #define PTHREAD_RWLOCK_INITIALIZER \ { } #ifdef __USE_GNU -# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ - { .__data = { .__flags = PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# if __WORDSIZE == 64 +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ + { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# else +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ + { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } } +# endif #endif -- cgit v1.2.3