aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2021-10-20 14:25:34 +0200
committerUlf Lilleengen <[email protected]>2021-10-20 14:36:16 +0200
commit5e6ee59ecd255c1d25bb0f687240183b63c4887d (patch)
treed83ff5e3e5ce176df1e81d5549ce7bd8c4a22a4b
parent3c2daf0d32fab3a545da2f34a24881acb30a4ea5 (diff)
Fix time calculation
Use unwrap_or_get to avoid checking time when not necessary
-rw-r--r--embassy/src/time/driver_std.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/embassy/src/time/driver_std.rs b/embassy/src/time/driver_std.rs
index a571d5214..0b5c6f85c 100644
--- a/embassy/src/time/driver_std.rs
+++ b/embassy/src/time/driver_std.rs
@@ -90,7 +90,7 @@ impl TimeDriver {
90 // Ensure we don't overflow 90 // Ensure we don't overflow
91 let until = zero 91 let until = zero
92 .checked_add(StdDuration::from_micros(next_alarm)) 92 .checked_add(StdDuration::from_micros(next_alarm))
93 .unwrap_or(zero + StdDuration::from_secs(1)); 93 .unwrap_or_else(|| StdInstant::now() + StdDuration::from_secs(1));
94 94
95 unsafe { DRIVER.signaler.as_ref() }.wait_until(until); 95 unsafe { DRIVER.signaler.as_ref() }.wait_until(until);
96 } 96 }