diff options
author | Andreas Schwab <schwab@redhat.com> | 2009-07-27 10:51:39 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2009-07-27 10:51:39 +0200 |
commit | e1a51361e3ac137c56adc6083d095c68e9471795 (patch) | |
tree | bfec41199e84a74265d8e77b0e8444b06bc9ff00 /nptl/pthread_mutex_lock.c | |
parent | 9285e82ab3a0d1bdaa63fc740165d6a300ad0cc5 (diff) | |
parent | 16d2ea4c821502948d193a152c8b151f5497a0d3 (diff) | |
download | glibc-e1a51361e3ac137c56adc6083d095c68e9471795.tar glibc-e1a51361e3ac137c56adc6083d095c68e9471795.tar.gz glibc-e1a51361e3ac137c56adc6083d095c68e9471795.tar.bz2 glibc-e1a51361e3ac137c56adc6083d095c68e9471795.zip |
Merge commit 'origin/master' into fedora/master
Diffstat (limited to 'nptl/pthread_mutex_lock.c')
-rw-r--r-- | nptl/pthread_mutex_lock.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c index 406e588fdb..a0ff881faf 100644 --- a/nptl/pthread_mutex_lock.c +++ b/nptl/pthread_mutex_lock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2007, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2002-2007, 2008, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -160,7 +160,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) #endif newval - = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, + = atomic_compare_and_exchange_val_rel (&mutex->__data.__lock, newval, oldval); if (newval != oldval) @@ -285,7 +285,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) #ifdef NO_INCR newval |= FUTEX_WAITERS; #endif - oldval = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, + oldval = atomic_compare_and_exchange_val_rel (&mutex->__data.__lock, newval, 0); if (oldval != 0) @@ -420,7 +420,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) oldprio = ceiling; oldval - = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, + = atomic_compare_and_exchange_val_rel (&mutex->__data.__lock, #ifdef NO_INCR ceilval | 2, #else @@ -434,7 +434,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) do { oldval - = atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, + = atomic_compare_and_exchange_val_rel (&mutex->__data.__lock, ceilval | 2, ceilval | 1); @@ -445,7 +445,7 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) lll_futex_wait (&mutex->__data.__lock, ceilval | 2, PTHREAD_MUTEX_PSHARED (mutex)); } - while (atomic_compare_and_exchange_val_acq (&mutex->__data.__lock, + while (atomic_compare_and_exchange_val_rel (&mutex->__data.__lock, ceilval | 2, ceilval) != ceilval); } |