diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-08-01 17:16:42 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-08-01 17:16:42 +0000 |
commit | e08057b1ff24258dd7460ad81e84491f7a28b424 (patch) | |
tree | f63a12d52cbc1796013a84382fe25f57ac675204 /nptl/pthread_rwlock_timedwrlock.c | |
parent | 4baf42dd00e8cafc79e2a3c94ef8effa6ef0a921 (diff) |
Updated to fedora-glibc-20070801T1703cvs/fedora-glibc-2_6_90-2
Diffstat (limited to 'nptl/pthread_rwlock_timedwrlock.c')
-rw-r--r-- | nptl/pthread_rwlock_timedwrlock.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/nptl/pthread_rwlock_timedwrlock.c b/nptl/pthread_rwlock_timedwrlock.c index 354beb0846..e6283f4623 100644 --- a/nptl/pthread_rwlock_timedwrlock.c +++ b/nptl/pthread_rwlock_timedwrlock.c @@ -33,7 +33,7 @@ pthread_rwlock_timedwrlock (rwlock, abstime) int result = 0; /* Make sure we are along. */ - lll_mutex_lock (rwlock->__data.__lock); + lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); while (1) { @@ -100,16 +100,14 @@ pthread_rwlock_timedwrlock (rwlock, abstime) int waitval = rwlock->__data.__writer_wakeup; /* Free the lock. */ - lll_mutex_unlock (rwlock->__data.__lock); + lll_unlock (rwlock->__data.__lock, rwlock->__data.__shared); /* Wait for the writer or reader(s) to finish. */ err = lll_futex_timed_wait (&rwlock->__data.__writer_wakeup, - waitval, &rt, - // XYZ check mutex flag - LLL_SHARED); + waitval, &rt, rwlock->__data.__shared); /* Get the lock. */ - lll_mutex_lock (rwlock->__data.__lock); + lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); /* To start over again, remove the thread from the writer list. */ --rwlock->__data.__nr_writers_queued; @@ -123,7 +121,7 @@ pthread_rwlock_timedwrlock (rwlock, abstime) } /* We are done, free the lock. */ - lll_mutex_unlock (rwlock->__data.__lock); + lll_unlock (rwlock->__data.__lock, rwlock->__data.__shared); return result; } |