diff --git a/src/xpdev/rwlockwrap.c b/src/xpdev/rwlockwrap.c index cbeca40c4fc03d7ad642282792c92084caed312e..cc90610d0fd34070446d1c5e65947b346bc98c74 100644 --- a/src/xpdev/rwlockwrap.c +++ b/src/xpdev/rwlockwrap.c @@ -117,8 +117,11 @@ rwlock_unlock(rwlock_t *lock) LeaveCriticalSection(&lock->lk); return false; } - lock->readers--; - return true; + if (lock->readers) { + lock->readers--; + return true; + } + return false; } #elif defined(__unix__)