diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-09-09 11:21:48 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-09-09 11:21:48 +0000 |
commit | 2b6a801eed386e0b5b45fed671d898e8090cecbb (patch) | |
tree | 3d1e875cd9c02082fd4722f9a0f2d5dd5053360d /nptl/sysdeps/pthread | |
parent | 346e6ad4016f3a19f71ccd0edd8a2682746d6fe7 (diff) | |
download | glibc-2b6a801eed386e0b5b45fed671d898e8090cecbb.tar glibc-2b6a801eed386e0b5b45fed671d898e8090cecbb.tar.gz glibc-2b6a801eed386e0b5b45fed671d898e8090cecbb.tar.bz2 glibc-2b6a801eed386e0b5b45fed671d898e8090cecbb.zip |
[BZ #1006]
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela):
Ensure relocation doesn't clobber any bits outside of the
immediate field for R_SPARC_TLS_LE_HIX22, R_SPARC_WDISP30,
R_SPARC_HI22 and R_SPARC_H44.
Diffstat (limited to 'nptl/sysdeps/pthread')
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_wait.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/nptl/sysdeps/pthread/pthread_cond_wait.c b/nptl/sysdeps/pthread/pthread_cond_wait.c index f641a7e8b1..f5f5cec5a8 100644 --- a/nptl/sysdeps/pthread/pthread_cond_wait.c +++ b/nptl/sysdeps/pthread/pthread_cond_wait.c @@ -51,13 +51,15 @@ __condvar_cleanup (void *arg) { /* This thread is not waiting anymore. Adjust the sequence counters appropriately. We do not increment WAKEUP_SEQ if this would - bump it over the value of TOTAL_SEQ> This can happen if a thread + bump it over the value of TOTAL_SEQ. This can happen if a thread was woken and then canceled. */ if (cbuffer->cond->__data.__wakeup_seq < cbuffer->cond->__data.__total_seq) - ++cbuffer->cond->__data.__wakeup_seq; + { + ++cbuffer->cond->__data.__wakeup_seq; + ++cbuffer->cond->__data.__futex; + } ++cbuffer->cond->__data.__woken_seq; - ++cbuffer->cond->__data.__futex; } cbuffer->cond->__data.__nwaiters -= 1 << COND_CLOCK_BITS; |