aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-02-26 17:41:17 -0500
committerUlrich Drepper <drepper@gmail.com>2012-02-26 17:41:17 -0500
commit4a3dded52708e6d9be190a968f0f09ca57539e13 (patch)
treef67735395e2b1e129760e57e090c5246acb766bc /sysdeps/unix/sysv
parent4efeffc1d583597e4f52985b9747269e47b754e2 (diff)
downloadglibc-4a3dded52708e6d9be190a968f0f09ca57539e13.tar
glibc-4a3dded52708e6d9be190a968f0f09ca57539e13.tar.gz
glibc-4a3dded52708e6d9be190a968f0f09ca57539e13.tar.bz2
glibc-4a3dded52708e6d9be190a968f0f09ca57539e13.zip
Work around problem of pthread_attr_t definition with old compilers
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/bits/siginfo.h3
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/siginfo.h8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/siginfo.h8
3 files changed, 17 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/siginfo.h b/sysdeps/unix/sysv/linux/bits/siginfo.h
index 0635e2f106..08713fcd64 100644
--- a/sysdeps/unix/sysv/linux/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/bits/siginfo.h
@@ -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
{
diff --git a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
index a4a07ecfdb..4b717947ad 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/siginfo.h
@@ -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;
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
index 3634b55c08..5e12da4bf1 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
@@ -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;