From bebfc360da574a08a742b2f974618d14ea00ad13 Mon Sep 17 00:00:00 2001 From: Ruize Tang <1466040111@qq.com> Date: Mon, 9 Sep 2024 16:18:03 +0800 Subject: [PATCH] Fix lost-wakeup in RwMutexUpgradeableGuard_.drop() --- ostd/src/sync/rwmutex.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); } }