Fix a bug in rwlock. When a rwlock was locked by reader threads, a

writter thread can block reader threads to get read lock.
This commit is contained in:
David Xu 2003-03-14 01:02:47 +00:00
parent ee5803b89b
commit 047a20e644
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=112218
2 changed files with 2 additions and 2 deletions

View file

@ -157,7 +157,7 @@ _pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
return(ret);
/* give writers priority over readers */
while (prwlock->blocked_writers || prwlock->state < 0) {
while (prwlock->state < 0) {
ret = pthread_cond_wait(&prwlock->read_signal, &prwlock->lock);
if (ret != 0) {

View file

@ -157,7 +157,7 @@ _pthread_rwlock_rdlock (pthread_rwlock_t *rwlock)
return(ret);
/* give writers priority over readers */
while (prwlock->blocked_writers || prwlock->state < 0) {
while (prwlock->state < 0) {
ret = pthread_cond_wait(&prwlock->read_signal, &prwlock->lock);
if (ret != 0) {