diff options
author | bsd <bsd@FreeBSD.org> | 2002-03-15 18:27:58 +0000 |
---|---|---|
committer | bsd <bsd@FreeBSD.org> | 2002-03-15 18:27:58 +0000 |
commit | 0c6f58d3470cf7568c992595ca0a1d3208e366a2 (patch) | |
tree | d434f05d4637bdc9edb1b9eb82a4b5e69f504bcc | |
parent | 8d9683ce7e3c0c27be274d75417d7739c4ac6940 (diff) | |
download | FreeBSD-src-0c6f58d3470cf7568c992595ca0a1d3208e366a2.zip FreeBSD-src-0c6f58d3470cf7568c992595ca0a1d3208e366a2.tar.gz |
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
-rw-r--r-- | lib/libc_r/uthread/uthread_rwlock.c | 4 | ||||
-rw-r--r-- | lib/libkse/thread/thr_rwlock.c | 4 | ||||
-rw-r--r-- | 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 25fab59..2f55f03 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 25fab59..2f55f03 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 25fab59..2f55f03 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; |