Skip to main content

wake_task

Function wake_task 

Source
pub fn wake_task(task: &AxTaskRef)
Expand description

Wakes a task that may be sleeping, ensuring it can observe a newly- delivered signal.

TaskInner::interrupt() sets the task’s interrupt flag and fires the interrupt waker, which unblocks the task via AxWaker::wake_by_ref. This covers the common case where the task is blocked in block_on with interruptible wrapping. For tasks blocked on raw WaitQueue objects (which do not register an interrupt waker), this function provides an escape hatch by additionally force-unblocking when the task appears to be parked on a wait queue.