diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-12-19 12:42:22 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-19 12:42:22 +0100 |
| commit | 905bdfa7662c2ac5d2dfc81219c9704955473253 (patch) | |
| tree | b04f494ce37d42a6d3afa9b8441ab412480786c6 /embassy-executor/src/raw/mod.rs | |
| parent | 14efaf71d76ad0af569522ee0c4082d473fdede7 (diff) | |
| parent | e62adea1f93f8eaba2f9da5ebe90e5f23a480101 (diff) | |
Merge pull request #5100 from bugadani/fallible-from-waker2
executor: Add fallible from_waker getter
Diffstat (limited to 'embassy-executor/src/raw/mod.rs')
| -rw-r--r-- | embassy-executor/src/raw/mod.rs | 6 |
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}; | |||
| 49 | use self::state::State; | 49 | use self::state::State; |
| 50 | use self::util::{SyncUnsafeCell, UninitCell}; | 50 | use self::util::{SyncUnsafeCell, UninitCell}; |
| 51 | pub use self::waker::task_from_waker; | 51 | pub use self::waker::task_from_waker; |
| 52 | use self::waker::try_task_from_waker; | ||
| 52 | use super::SpawnToken; | 53 | use super::SpawnToken; |
| 53 | use crate::{Metadata, SpawnError}; | 54 | use 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)] | ||
| 62 | extern "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: |
