mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-26 12:41:05 +00:00
7c37008632
2004-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t): Add __data.__futex field, reshuffle __data.__clock. * sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S (__pthread_cond_signal): Increment __futex at the same time as __wakeup_seq or __total_seq. Pass address of __futex instead of address of low 32-bits of __wakeup_seq to futex syscall. * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S (__pthread_cond_wait): Likewise. Pass __futex value from before releasing internal lock to FUTEX_WAIT. * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S (__pthread_cond_timedwait): Likewise. * sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S (FUTEX_CMP_REQUEUE): Define. (__pthread_cond_broadcast): Set __futex to 2 * __total_seq. Use FUTEX_CMP_REQUEUE operation instead of FUTEX_REQUEUE. Pass __futex value from before the unlock and __futex address instead of address of low 32-bits of __wakeup_seq to futex syscall. Fallback to FUTEX_WAKE all on any errors. |
||
---|---|---|
.. | ||
alpha | ||
bits | ||
i386 | ||
ia64 | ||
powerpc | ||
s390 | ||
sh | ||
sparc | ||
x86_64 | ||
aio_misc.h | ||
allocrtsig.c | ||
configure | ||
createthread.c | ||
fork.c | ||
fork.h | ||
getpid.c | ||
Implies | ||
internaltypes.h | ||
jmp-unwind.c | ||
kernel-posix-timers.h | ||
libc_multiple_threads.c | ||
libc_pthread_init.c | ||
libc-lowlevellock.c | ||
lowlevelbarrier.sym | ||
lowlevelcond.sym | ||
lowlevellock.c | ||
lowlevelrwlock.sym | ||
Makefile | ||
mq_notify.c | ||
pt-fork.c | ||
pt-raise.c | ||
pthread_attr_getaffinity.c | ||
pthread_attr_setaffinity.c | ||
pthread_getaffinity.c | ||
pthread_kill.c | ||
pthread_mutex_cond_lock.c | ||
pthread_setaffinity.c | ||
pthread_yield.c | ||
raise.c | ||
register-atfork.c | ||
sem_post.c | ||
sem_timedwait.c | ||
sem_trywait.c | ||
sem_wait.c | ||
sigtimedwait.c | ||
sigwait.c | ||
sigwaitinfo.c | ||
sleep.c | ||
smp.h | ||
timer_create.c | ||
timer_delete.c | ||
timer_getoverr.c | ||
timer_gettime.c | ||
timer_routines.c | ||
timer_settime.c | ||
unregister-atfork.c | ||
unwindbuf.sym | ||
Versions |