From b18ae9245d95dc3ba02d0797a11b8bc9a025ec2a Mon Sep 17 00:00:00 2001 From: "Brian S. Dean" Date: Fri, 15 Mar 2002 18:27:58 +0000 Subject: [PATCH] Fix the return code from pthread_rwlock_try[rw|rd]lock() functions; these should return EBUSY when the calling thread would block. MFC after: 2 weeks --- lib/libc_r/uthread/uthread_rwlock.c | 4 ++-- lib/libkse/thread/thr_rwlock.c | 4 ++-- lib/libpthread/thread/thr_rwlock.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/libc_r/uthread/uthread_rwlock.c b/lib/libc_r/uthread/uthread_rwlock.c index 25fab59a8cfa..2f55f03b355c 100644 --- a/lib/libc_r/uthread/uthread_rwlock.c +++ b/lib/libc_r/uthread/uthread_rwlock.c @@ -209,7 +209,7 @@ _pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) /* give writers priority over readers */ if (prwlock->blocked_writers || prwlock->state < 0) - ret = EWOULDBLOCK; + ret = EBUSY; else if (prwlock->state == MAX_READ_LOCKS) ret = EAGAIN; /* too many read locks acquired */ else @@ -245,7 +245,7 @@ _pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) return(ret); if (prwlock->state != 0) - ret = EWOULDBLOCK; + ret = EBUSY; else /* indicate we are locked for writing */ prwlock->state = -1; diff --git a/lib/libkse/thread/thr_rwlock.c b/lib/libkse/thread/thr_rwlock.c index 25fab59a8cfa..2f55f03b355c 100644 --- a/lib/libkse/thread/thr_rwlock.c +++ b/lib/libkse/thread/thr_rwlock.c @@ -209,7 +209,7 @@ _pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) /* give writers priority over readers */ if (prwlock->blocked_writers || prwlock->state < 0) - ret = EWOULDBLOCK; + ret = EBUSY; else if (prwlock->state == MAX_READ_LOCKS) ret = EAGAIN; /* too many read locks acquired */ else @@ -245,7 +245,7 @@ _pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) return(ret); if (prwlock->state != 0) - ret = EWOULDBLOCK; + ret = EBUSY; else /* indicate we are locked for writing */ prwlock->state = -1; diff --git a/lib/libpthread/thread/thr_rwlock.c b/lib/libpthread/thread/thr_rwlock.c index 25fab59a8cfa..2f55f03b355c 100644 --- a/lib/libpthread/thread/thr_rwlock.c +++ b/lib/libpthread/thread/thr_rwlock.c @@ -209,7 +209,7 @@ _pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) /* give writers priority over readers */ if (prwlock->blocked_writers || prwlock->state < 0) - ret = EWOULDBLOCK; + ret = EBUSY; else if (prwlock->state == MAX_READ_LOCKS) ret = EAGAIN; /* too many read locks acquired */ else @@ -245,7 +245,7 @@ _pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) return(ret); if (prwlock->state != 0) - ret = EWOULDBLOCK; + ret = EBUSY; else /* indicate we are locked for writing */ prwlock->state = -1;