]> sourceware.org Git - glibc.git/commitdiff
Work around problem of pthread_attr_t definition with old compilers
authorUlrich Drepper <drepper@gmail.com>
Sun, 26 Feb 2012 22:41:17 +0000 (17:41 -0500)
committerUlrich Drepper <drepper@gmail.com>
Sun, 26 Feb 2012 22:41:17 +0000 (17:41 -0500)
nptl/sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/sparc/bits/pthreadtypes.h
nptl/sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h
sysdeps/unix/sysv/linux/bits/siginfo.h
sysdeps/unix/sysv/linux/s390/bits/siginfo.h
sysdeps/unix/sysv/linux/sparc/bits/siginfo.h

index 437ef1f9ba8eb19d64797466810823bfe581bd6b..1ce0bd07367cb18433494a3bd07f79129a75d196 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 typedef struct __pthread_internal_slist
index 69bd97bd998f03f6a1de5d5b796ad820e8c46250..1761bf03b00dda71fc596f21d78fb7bc8bc0e056 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 #if __WORDSIZE == 64
index d87a635dc4d9da28d032ae13f10c06e971f86f34..c64b14f7cd51a64a20c5195c26e8fa510c626618 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 #if __WORDSIZE == 64
index 34b07921fd56328d42a7104df7723c93d18448ca..a1ef92b5ad316a40de2531ab6d251e92a8dc145a 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 typedef struct __pthread_internal_slist
index 2cfaadbacbbfd37f4868a66003ac79839587534f..60f5d4d40993a656e3af0b3aeefbeeeeef67d355 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 #if __WORDSIZE == 64
index 7cbb200a8f7e955029572e37ce5f9c6e51d2e899..0b0f9393f7b4033d4681921ed70a2248df7c8484 100644 (file)
 typedef unsigned long int pthread_t;
 
 
-typedef union __pthread_attr
+union __pthread_attr
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
+};
+#ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 
 #if __WORDSIZE == 64
index 0635e2f106ab8bfdc477313b5b1a4c7399f2a3f6..08713fcd64a2c04bf51640efa40ab561ef2ae8ff 100644 (file)
@@ -270,7 +270,10 @@ enum
 # endif
 
 /* Forward declaration.  */
+# ifndef __have_pthread_attr_t
 typedef union __pthread_attr pthread_attr_t;
+#  define __have_pthread_attr_t        1
+# endif
 
 typedef struct sigevent
   {
index a4a07ecfdb309609be210855705394cf7e816d79..4b717947adc6cf1612a317e5009afbc8caa88bc0 100644 (file)
@@ -271,6 +271,12 @@ enum
 #  define __SIGEV_PAD_SIZE     ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration.  */
+# ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+#  define __have_pthread_attr_t        1
+# endif
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -288,7 +294,7 @@ typedef struct sigevent
        struct
          {
            void (*_function) (sigval_t);       /* Function to start.    */
-           void *_attribute;                   /* Really pthread_attr_t.  */
+           pthread_attr_t *_attribute;         /* Thread attributes.  */
          } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
index 3634b55c0820ce3f988f530cd7da4f6ae086bef1..5e12da4bf1db66fe55e87669187c8ef8817dac85 100644 (file)
@@ -278,6 +278,12 @@ enum
 #  define __SIGEV_PAD_SIZE     ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
+/* Forward declaration.  */
+# ifndef __have_pthread_attr_t
+typedef union __pthread_attr pthread_attr_t;
+#  define __have_pthread_attr_t        1
+# endif
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -295,7 +301,7 @@ typedef struct sigevent
        struct
          {
            void (*_function) (sigval_t);       /* Function to start.  */
-           void *_attribute;                   /* Really pthread_attr_t.  */
+           pthread_attr_t *_attribute;         /* Thread attributes.  */
          } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
This page took 0.056129 seconds and 5 git commands to generate.