From be095ffaf426d462028b836432ef3ba32d45e3a5 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 3 Mar 2003 21:26:07 +0000 Subject: [PATCH] (pthread_rwlock_timedwrlock): Fix clobber of result variable by lll_futex_timed_wait call. --- nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c b/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c index 0715f83..e4d08ea 100644 --- a/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c +++ b/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c @@ -37,6 +37,8 @@ pthread_rwlock_timedwrlock (rwlock, abstime) while (1) { + int err; + /* Get the rwlock if there is no writer and no reader. */ if (rwlock->__data.__writer == 0 && rwlock->__data.__nr_readers == 0) { @@ -101,8 +103,8 @@ pthread_rwlock_timedwrlock (rwlock, abstime) lll_mutex_unlock (rwlock->__data.__lock); /* Wait for the writer or reader(s) to finish. */ - result = lll_futex_timed_wait (&rwlock->__data.__writer_wakeup, - waitval, &rt); + err = lll_futex_timed_wait (&rwlock->__data.__writer_wakeup, + waitval, &rt); /* Get the lock. */ lll_mutex_lock (rwlock->__data.__lock); @@ -111,7 +113,7 @@ pthread_rwlock_timedwrlock (rwlock, abstime) --rwlock->__data.__nr_writers_queued; /* Did the futex call time out? */ - if (result == -ETIMEDOUT) + if (err == -ETIMEDOUT) { result = ETIMEDOUT; break; -- 2.7.4