aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2020-12-29 00:04:58 +0100
committerDario Nieuwenhuis <[email protected]>2020-12-29 00:04:58 +0100
commitb01a88a839c2ac1eec68442f6cddf0c0a887cfa7 (patch)
tree07a4b54cd0529f03bbd6bd09ef9ddac10657c4af
parent267ec334ac766097efb4c847c14b6e2fde44f9af (diff)
Do not run timer queue if no alarm is set.
-rw-r--r--embassy/src/executor/mod.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/embassy/src/executor/mod.rs b/embassy/src/executor/mod.rs
index c1ec3832a..845d94c2c 100644
--- a/embassy/src/executor/mod.rs
+++ b/embassy/src/executor/mod.rs
@@ -214,9 +214,11 @@ impl Executor {
214 /// Runs the executor until the queue is empty. 214 /// Runs the executor until the queue is empty.
215 pub fn run(&self) { 215 pub fn run(&self) {
216 unsafe { 216 unsafe {
217 self.timer_queue.dequeue_expired(Instant::now(), |p| { 217 if self.alarm.is_some() {
218 self.enqueue(p); 218 self.timer_queue.dequeue_expired(Instant::now(), |p| {
219 }); 219 self.enqueue(p);
220 });
221 }
220 222
221 self.run_queue.dequeue_all(|p| { 223 self.run_queue.dequeue_all(|p| {
222 let header = &*p; 224 let header = &*p;