]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add __PTHREAD_RWLOCK_INT_FLAGS_SHARED
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2012 23:48:59 +0000 (16:48 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 14 May 2012 23:48:59 +0000 (16:48 -0700)
nptl/ChangeLog
nptl/sysdeps/pthread/pthread.h

index 5feb67d2bf6bd079765079f25bedbfc0270e47f5..bf7e11aa9c9689f1fb372f7ef5c7fb3aba5abe84 100644 (file)
@@ -1,3 +1,10 @@
+2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/pthread/pthread.h (__PTHREAD_RWLOCK_INT_FLAGS_SHARED):
+       New.
+       (PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP): Check
+       __PTHREAD_RWLOCK_INT_FLAGS_SHARED instead of __WORDSIZE.
+
 2012-05-14  H.J. Lu  <hongjiu.lu@intel.com>
 
        * shlib-versions: Move x86_64-.*-linux.* entry to ...
index fcc0ce846b2a710c5b3ba3be2f03610c286926aa..88c7c257aefbb56871acc2410e91fa143e01b781 100644 (file)
@@ -118,11 +118,20 @@ enum
   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
 };
 
+/* Define __PTHREAD_RWLOCK_INT_FLAGS_SHARED to 1 if pthread_rwlock_t
+   has the shared field.  All 64-bit architectures have the shared field
+   in pthread_rwlock_t.  */
+#ifndef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
+# if __WORDSIZE == 64
+#  define __PTHREAD_RWLOCK_INT_FLAGS_SHARED 1
+# endif
+#endif
+
 /* Read-write lock initializers.  */
 # define PTHREAD_RWLOCK_INITIALIZER \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
 # ifdef __USE_GNU
-#  if __WORDSIZE == 64
+#  ifdef __PTHREAD_RWLOCK_INT_FLAGS_SHARED
 #   define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                                          \
        PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }