看看下面的代码框架(我修改了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()之间的情况怎么办?