aboutsummaryrefslogtreecommitdiff
path: root/nptl/init.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-05-27 18:06:18 +0000
committerUlrich Drepper <drepper@redhat.com>2007-05-27 18:06:18 +0000
commite59660bc25a272bf2f00f3c37dfa736f3d58845f (patch)
treec209cb5fe9e0581ba5fff57dc038b1b6fb43516d /nptl/init.c
parent546346b6f849fea25265f48c5b9cf536ef1cf4ee (diff)
downloadglibc-e59660bc25a272bf2f00f3c37dfa736f3d58845f.zip
glibc-e59660bc25a272bf2f00f3c37dfa736f3d58845f.tar.gz
glibc-e59660bc25a272bf2f00f3c37dfa736f3d58845f.tar.bz2
* init.c: Make it compile with older kernel headers.
* tst-initializers1.c: Show through exit code which test failed. * pthread_rwlock_init.c: Also initialize __shared field. * sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Split __flags element in rwlock structure into four byte elements. One of them is the new __shared element. * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h [__WORDSIZE=32]: Likewise. [__WORDSIZE=64]: Renamed __pad1 element int rwlock structire to __shared, adjust names of other padding elements. * sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise. * sysdeps/pthread/pthread.h: Adjust rwlock initializers. * sysdeps/unix/sysv/linux/lowlevelrwlock.sym: Add PSHARED. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Define FUTEX_PRIVATE_FLAG. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Change main futex to use private operations if possible. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
Diffstat (limited to 'nptl/init.c')
-rw-r--r--nptl/init.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/nptl/init.c b/nptl/init.c
index 212b835..82adeae 100644
--- a/nptl/init.c
+++ b/nptl/init.c
@@ -276,15 +276,15 @@ __pthread_initialize_minimal_internal (void)
#endif
set_robust_list_not_avail ();
-#ifdef THREAD_SET_PRIVATE_FUTEX
+#ifndef __ASSUME_PRIVATE_FUTEX
/* Private futexes are always used (at least internally) so that
doing the test once this early is beneficial. */
{
int word;
- res = INTERNAL_SYSCALL (futex, err, 3, &word,
+ word = INTERNAL_SYSCALL (futex, err, 3, &word,
FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1);
- if (!INTERNAL_SYSCALL_ERROR_P (res, err))
- pd->header.private_futex = FUTEX_PRIVATE_FLAG;
+ if (!INTERNAL_SYSCALL_ERROR_P (word, err))
+ THREAD_SETMEM (pd, header.private_futex, FUTEX_PRIVATE_FLAG);
}
#endif