aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/src/raw/timer_queue.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-01-11 23:51:47 +0100
committerGitHub <[email protected]>2024-01-11 23:51:47 +0100
commitd1a62733cd459d3c7778aa0707f58e7cfa75a94a (patch)
tree3047442f625ae2384ed26fc3c5373ee2bdee8a4d /embassy-executor/src/raw/timer_queue.rs
parent0d62e9c96ca14d9d9596f72d090e41855050e83c (diff)
parent9f6517e408f3a4b0a3fb00387a99deade55d6528 (diff)
Merge pull request #2439 from embassy-rs/release-misc-stuff
More misc cleanups for release.
Diffstat (limited to 'embassy-executor/src/raw/timer_queue.rs')
-rw-r--r--embassy-executor/src/raw/timer_queue.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/embassy-executor/src/raw/timer_queue.rs b/embassy-executor/src/raw/timer_queue.rs
index 59a3b43f5..94a5f340b 100644
--- a/embassy-executor/src/raw/timer_queue.rs
+++ b/embassy-executor/src/raw/timer_queue.rs
@@ -1,7 +1,5 @@
1use core::cmp::min; 1use core::cmp::min;
2 2
3use embassy_time::Instant;
4
5use super::TaskRef; 3use super::TaskRef;
6use crate::raw::util::SyncUnsafeCell; 4use crate::raw::util::SyncUnsafeCell;
7 5
@@ -30,7 +28,7 @@ impl TimerQueue {
30 28
31 pub(crate) unsafe fn update(&self, p: TaskRef) { 29 pub(crate) unsafe fn update(&self, p: TaskRef) {
32 let task = p.header(); 30 let task = p.header();
33 if task.expires_at.get() != Instant::MAX { 31 if task.expires_at.get() != u64::MAX {
34 if task.state.timer_enqueue() { 32 if task.state.timer_enqueue() {
35 task.timer_queue_item.next.set(self.head.get()); 33 task.timer_queue_item.next.set(self.head.get());
36 self.head.set(Some(p)); 34 self.head.set(Some(p));
@@ -38,18 +36,18 @@ impl TimerQueue {
38 } 36 }
39 } 37 }
40 38
41 pub(crate) unsafe fn next_expiration(&self) -> Instant { 39 pub(crate) unsafe fn next_expiration(&self) -> u64 {
42 let mut res = Instant::MAX; 40 let mut res = u64::MAX;
43 self.retain(|p| { 41 self.retain(|p| {
44 let task = p.header(); 42 let task = p.header();
45 let expires = task.expires_at.get(); 43 let expires = task.expires_at.get();
46 res = min(res, expires); 44 res = min(res, expires);
47 expires != Instant::MAX 45 expires != u64::MAX
48 }); 46 });
49 res 47 res
50 } 48 }
51 49
52 pub(crate) unsafe fn dequeue_expired(&self, now: Instant, on_task: impl Fn(TaskRef)) { 50 pub(crate) unsafe fn dequeue_expired(&self, now: u64, on_task: impl Fn(TaskRef)) {
53 self.retain(|p| { 51 self.retain(|p| {
54 let task = p.header(); 52 let task = p.header();
55 if task.expires_at.get() <= now { 53 if task.expires_at.get() <= now {