aboutsummaryrefslogtreecommitdiff
path: root/embassy-executor/src/raw/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-executor/src/raw/mod.rs')
-rw-r--r--embassy-executor/src/raw/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/embassy-executor/src/raw/mod.rs b/embassy-executor/src/raw/mod.rs
index ab845ed3b..2b7560de6 100644
--- a/embassy-executor/src/raw/mod.rs
+++ b/embassy-executor/src/raw/mod.rs
@@ -49,6 +49,7 @@ use self::run_queue::{RunQueue, RunQueueItem};
49use self::state::State; 49use self::state::State;
50use self::util::{SyncUnsafeCell, UninitCell}; 50use self::util::{SyncUnsafeCell, UninitCell};
51pub use self::waker::task_from_waker; 51pub use self::waker::task_from_waker;
52use self::waker::try_task_from_waker;
52use super::SpawnToken; 53use super::SpawnToken;
53use crate::{Metadata, SpawnError}; 54use crate::{Metadata, SpawnError};
54 55
@@ -57,6 +58,11 @@ extern "Rust" fn __embassy_time_queue_item_from_waker(waker: &Waker) -> &'static
57 unsafe { task_from_waker(waker).timer_queue_item() } 58 unsafe { task_from_waker(waker).timer_queue_item() }
58} 59}
59 60
61#[unsafe(no_mangle)]
62extern "Rust" fn __try_embassy_time_queue_item_from_waker(waker: &Waker) -> Option<&'static mut TimerQueueItem> {
63 unsafe { try_task_from_waker(waker).map(|task| task.timer_queue_item()) }
64}
65
60/// Raw task header for use in task pointers. 66/// Raw task header for use in task pointers.
61/// 67///
62/// A task can be in one of the following states: 68/// A task can be in one of the following states: