diff --git a/ostd/src/sync/rwmutex.rs b/ostd/src/sync/rwmutex.rs index 31b34bb5f..d5fc9a843 100644 --- a/ostd/src/sync/rwmutex.rs +++ b/ostd/src/sync/rwmutex.rs @@ -377,7 +377,7 @@ impl>> Deref for RwMutexUpgradeableGuard impl>> Drop for RwMutexUpgradeableGuard_ { fn drop(&mut self) { let res = self.inner.lock.fetch_sub(UPGRADEABLE_READER, Release); - if res == 0 { + if res == UPGRADEABLE_READER { self.inner.queue.wake_all(); } }