【发布时间】:2015-06-16 11:33:34
【问题描述】:
我阅读了Linux Kernel Development一书,在睡眠和唤醒部分给出的示例有些问题。
DEFINE_WAIT(wait);
add_wait_queue(q, &wait);
while (!condition) {
prepare_to_wait(&q, &wait, TASK_INTERRUPTIBLE);
if (signal_pending(current))
/* handle signal */
schedule();
}
finish_wait(&q, &wait);
如果wake_up 在prepare_to_wait() 之前和while 条件之后会发生什么? wake_up 会丢失吗?
【问题讨论】:
标签: linux-kernel operating-system