diff options
| -rw-r--r-- | embassy-executor/src/arch/cortex_m.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/embassy-executor/src/arch/cortex_m.rs b/embassy-executor/src/arch/cortex_m.rs index 8fe5644d7..0806a22ab 100644 --- a/embassy-executor/src/arch/cortex_m.rs +++ b/embassy-executor/src/arch/cortex_m.rs | |||
| @@ -10,7 +10,8 @@ fn __pender(context: *mut ()) { | |||
| 10 | let context = context as usize; | 10 | let context = context as usize; |
| 11 | 11 | ||
| 12 | #[cfg(feature = "executor-thread")] | 12 | #[cfg(feature = "executor-thread")] |
| 13 | if context == THREAD_PENDER { | 13 | // Try to make Rust optimize the branching away if we only use thread mode. |
| 14 | if !cfg!(feature = "executor-interrupt") || context == THREAD_PENDER { | ||
| 14 | core::arch::asm!("sev"); | 15 | core::arch::asm!("sev"); |
| 15 | return; | 16 | return; |
| 16 | } | 17 | } |
