sleep_task_with_guard_and_block

Function sleep_task_with_guard_and_block 

Source
pub fn sleep_task_with_guard_and_block(
    task: &mut SpinLockGuard<'_, TaskStruct>,
    stask: Arc<SpinLock<Task>>,
    receive_signal: bool,
)
Expand description

带保护地阻塞任务 修改任务状态并从运行队列中移除 参数:

  • task: 需要阻塞的任务(带锁保护)
  • stask: 需要阻塞的任务(共享指针)
  • receive_signal: 是否可被信号中断 HACK: 这个函数被设计用来避免信号处理过程中丢失唤醒的问题。 尽量不要使用该函数,除非你非常清楚自己在做什么