全部博文(61)
分类: LINUX
2010-09-01 21:52:20
wait_event_interruptible()。该函数修改task的状态为TASK_INTERRUPTIBLE,意味着改进程将不会继续运行直到被唤醒,然后被添加到等待队列wq中。
在wait_event_interruptible()中首先判断condition是不是已经满足,如果是则直接返回0,否则调用__wait_event_interruptible(),并用__ret来存放返回值 condition=0 就是睡眠了。 --------------------------------------------------------------- #define wait_event_interruptible(wq, condition) \ ({ \ int __ret = 0; \ if (!(condition)) \ __wait_event_interruptible(wq, condition, __ret);\ __ret; \ }) |
chinaunix网友2010-09-03 15:34:14
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com