From 46f4c5787ad7e3940d3cfb67320e70cff2fbe032 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 27 Jun 2004 19:32:01 +0000 Subject: Update. 2004-06-27 Ulrich Drepper * Makefile: Add rules to build tst-rwlock14. * tst-rwlock14.c: New file. 2004-06-24 Boris Hu * sysdeps/pthread/pthread_rwlock_timedrdlock.c: Add timeout validation check. * sysdeps/pthread/pthread_rwlock_timedwrlock.c: Likewise. --- nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c | 3 ++- nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'nptl/sysdeps') diff --git a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c index 2cba0d3c88..85cc176a9a 100644 --- a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c +++ b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c @@ -70,7 +70,8 @@ pthread_rwlock_timedrdlock (rwlock, abstime) performed if we would not block at all simply moving the test to the front is no option. Replicating all the code is costly while this test is not. */ - if (__builtin_expect (abstime->tv_nsec >= 1000000000, 0)) + if (__builtin_expect (abstime->tv_nsec >= 1000000000 + || abstime->tv_sec < 0, 0)) { result = EINVAL; break; diff --git a/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c b/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c index a3cdda30bb..dd5f9b4ccf 100644 --- a/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c +++ b/nptl/sysdeps/pthread/pthread_rwlock_timedwrlock.c @@ -61,7 +61,8 @@ pthread_rwlock_timedwrlock (rwlock, abstime) performed if we would not block at all simply moving the test to the front is no option. Replicating all the code is costly while this test is not. */ - if (abstime->tv_nsec >= 1000000000) + if (__builtin_expect (abstime->tv_nsec >= 1000000000 + || abstime->tv_sec < 0, 0)) { result = EINVAL; break; -- cgit v1.2.3