time: wake DelayQueue when cleared (#8320)

This commit is contained in:
Minh Vu
2026-08-09 16:45:35 +02:00
committed by GitHub
parent 7f86b2ace5
commit ed25636141
2 changed files with 22 additions and 0 deletions
+14
View File
@@ -915,6 +915,20 @@ async fn wake_after_remove_last() {
assert!(assert_ready!(poll!(queue)).is_none());
}
#[tokio::test(start_paused = true)]
async fn wake_after_clear() {
let mut queue = task::spawn(DelayQueue::new());
queue.insert("foo", ms(1000));
assert_pending!(poll!(queue));
assert!(!queue.is_woken());
queue.clear();
assert!(queue.is_woken());
assert!(assert_ready!(poll!(queue)).is_none());
}
fn ms(n: u64) -> Duration {
Duration::from_millis(n)
}