Wait_event_interruptible Vs wake_up_interruptible

时间:2013-09-28 06:43:54

标签: c linux linux-kernel

我怀疑参与wait_event_interruptible和wake_up_interruptible的执行。

疑问1:假设在wait_event_interruptible条件为TRUE的情况下,进程状态是否直接更改为RUNNING状态?

如果是,那么不需要调用wake_up吗?在这种情况下唤醒的用途是什么。

疑问2:如果另一个进程为等待状态中存在的问题调用了wake_up但是wait_event_interruptible中的条件仍为FALSE那么情况会怎样?

我试过从Using wait_event_interruptible and wake_up_all together线程中获取参考,但我找不到合适的答案。

1 个答案:

答案 0 :(得分:0)

  1. 当条件已经为真时,无需等待 (wait_event *函数在开始实际等待之前也会检查条件。)
  2. 当条件仍为假时,它将重新进入睡眠状态。