diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-09-09 04:59:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-09-09 04:59:02 +0000 |
commit | 31f93b3b72ddcce47d867720f0b53016166dc667 (patch) | |
tree | 34a8e1e81e915f02d9c35b50efa867610f350876 /nptl/sysdeps | |
parent | 062ad132240ff74929001456bf1c62c1f1f94c86 (diff) | |
download | glibc-31f93b3b72ddcce47d867720f0b53016166dc667.tar.gz glibc-31f93b3b72ddcce47d867720f0b53016166dc667.tar.xz glibc-31f93b3b72ddcce47d867720f0b53016166dc667.zip |
[BZ #375]
Update. 2004-09-08 Ulrich Drepper <drepper@redhat.com> * 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]
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r-- | nptl/sysdeps/pthread/pthread.h | 32 |
1 files changed, 24 insertions, 8 deletions
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 <signal.h> #include <bits/pthreadtypes.h> #include <bits/setjmp.h> +#include <bits/wordsize.h> /* 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 |