From 5fb8a9f7e558977a8027eec32565a2de6b87636b Mon Sep 17 00:00:00 2001 From: Ruihan Li Date: Tue, 2 Jan 2024 23:42:28 +0800 Subject: [PATCH] Clean up `waiter` correctly when the timer expires --- framework/aster-frame/src/sync/wait.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/aster-frame/src/sync/wait.rs b/framework/aster-frame/src/sync/wait.rs index 146e17c36..cafa0260b 100644 --- a/framework/aster-frame/src/sync/wait.rs +++ b/framework/aster-frame/src/sync/wait.rs @@ -99,7 +99,8 @@ impl WaitQueue { if let Some(ref timer_callback) = timer_callback && timer_callback.is_expired() { - return None; + self.dequeue(&waiter); + return cond(); } waiter.wait();