diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-05-27 18:06:18 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-05-27 18:06:18 +0000 |
commit | e59660bc25a272bf2f00f3c37dfa736f3d58845f (patch) | |
tree | c209cb5fe9e0581ba5fff57dc038b1b6fb43516d /nptl/init.c | |
parent | 546346b6f849fea25265f48c5b9cf536ef1cf4ee (diff) | |
download | glibc-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.c | 8 |
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 |