Skip to main content

wake_task

Function wake_task 

Source
pub fn wake_task(id: TaskId)
Expand description

Mark id ready and broadcast a reschedule request to every other hart.

Use this — not the lower-level [mark_ready] — from any context outside the executor’s own poll loop: an ISR, another hart, or a driver’s completion handler. mark_ready alone only flips bitmap flags; on a single-hart build the interrupt that called this is enough to break the executor out of wfi, but on RIVET_MAX_HARTS > 1 an executor idling on a different hart would never notice (this is the exact bug timer::poll_timers’s own broadcast fixed, found on real dual-core ESP32-S3 hardware via smp_test.rs). Safe to call from ISR context.