关于wait_event_interruptible()的使用 - 是否可以错过唤醒条件?

时间:2016-01-25 02:57:43

标签: linux-kernel linux-device-driver

看看下面的代码框架(我修改了this LDD3代码)

wake_up_interruptible(&SLEEP_QUEUE);

我对此过程使用wait_event_interruptible()有疑问(比如流程1)。如果:

怎么办?
{{1}}

从另一个进程(比如进程2)调用,告诉内核唤醒这个进程是在进程1中UP()和对wait_event_interruptible()的调用之间发生的?不会永远处理1次睡眠吗?

我对这个问题的初步答案是wait_event_interruptible()会在睡眠前检查条件COND_DATA_EXISTS。好的,现在如果来自进程2的wake_up_interruptible()发生在进程1中检查COND_DATA_EXISTS和进程1 内部 wake_up_interruptible()之间的情况怎么办?

0 个答案:

没有答案