diff --git a/src/thread/pthread_rwlock_unlock.c b/src/thread/pthread_rwlock_unlock.c index 5edca634b785c889db3edcbe31b42cc9ccf3abf0..a6d20854c8a5001b3d8739636619d4d76c73694b 100644 --- a/src/thread/pthread_rwlock_unlock.c +++ b/src/thread/pthread_rwlock_unlock.c @@ -12,7 +12,7 @@ int pthread_rwlock_unlock(pthread_rwlock_t *rw) } while (a_cas(&rw->_rw_lock, val, new) != val); if (!new && (waiters || val<0)) - __wake(&rw->_rw_lock, 1, 0); + __wake(&rw->_rw_lock, cnt, 0); return 0; }