diff options
| author | ivmarkov <[email protected]> | 2022-10-24 09:17:43 +0300 |
|---|---|---|
| committer | ivmarkov <[email protected]> | 2022-10-24 09:17:43 +0300 |
| commit | 4d5550070fe5e80ff2296a71239c568c774b9ceb (patch) | |
| tree | 3248eb5c70b9dd5402c5edc049cafc31a5f66ed3 /embassy-time/src/driver_std.rs | |
| parent | 53608a87ac4b6c8c60b5508551d12f5ba76ca2f6 (diff) | |
Change time Driver contract to never fire the alarm synchronously
Diffstat (limited to 'embassy-time/src/driver_std.rs')
| -rw-r--r-- | embassy-time/src/driver_std.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/embassy-time/src/driver_std.rs b/embassy-time/src/driver_std.rs index 2ddb2e604..fc7fd1979 100644 --- a/embassy-time/src/driver_std.rs +++ b/embassy-time/src/driver_std.rs | |||
| @@ -127,12 +127,14 @@ impl Driver for TimeDriver { | |||
| 127 | alarm.ctx = ctx; | 127 | alarm.ctx = ctx; |
| 128 | } | 128 | } |
| 129 | 129 | ||
| 130 | fn set_alarm(&self, alarm: AlarmHandle, timestamp: u64) { | 130 | fn set_alarm(&self, alarm: AlarmHandle, timestamp: u64) -> bool { |
| 131 | self.init(); | 131 | self.init(); |
| 132 | let mut alarms = unsafe { self.alarms.as_ref() }.lock().unwrap(); | 132 | let mut alarms = unsafe { self.alarms.as_ref() }.lock().unwrap(); |
| 133 | let alarm = &mut alarms[alarm.id() as usize]; | 133 | let alarm = &mut alarms[alarm.id() as usize]; |
| 134 | alarm.timestamp = timestamp; | 134 | alarm.timestamp = timestamp; |
| 135 | unsafe { self.signaler.as_ref() }.signal(); | 135 | unsafe { self.signaler.as_ref() }.signal(); |
| 136 | |||
| 137 | true | ||
| 136 | } | 138 | } |
| 137 | } | 139 | } |
| 138 | 140 | ||
