diff options
Diffstat (limited to 'libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h')
-rw-r--r-- | libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h b/libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h index 3eb592919..8d01c8908 100644 --- a/libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h +++ b/libpthread/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h @@ -56,10 +56,20 @@ typedef struct __pthread_attr_s /* Conditions (not abstract because of PTHREAD_COND_INITIALIZER */ + +#ifdef __GLIBC_HAVE_LONG_LONG +__extension__ typedef long long __pthread_cond_align_t; +#else +typedef long __pthread_cond_align_t; +#endif + typedef struct { struct _pthread_fastlock __c_lock; /* Protect against concurrent access */ _pthread_descr __c_waiting; /* Threads waiting on this condition */ + char __padding[48 - sizeof (struct _pthread_fastlock) + - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; + __pthread_cond_align_t __align; } pthread_cond_t; @@ -121,7 +131,7 @@ typedef struct #ifdef __USE_XOPEN2K /* POSIX spinlock data type. */ -typedef volatile int pthread_spinlock_t; +typedef __volatile__ int pthread_spinlock_t; /* POSIX barrier. */ typedef struct { |