您的位置:首页 > 产品设计 > UI/UE

进程调度API之init_waitqueue_entry

2017-12-19 08:19 405 查看
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
是等待队列的基础适用函数之一,之前的博文已经给出过等待队列的用法了
这个函数的作用是用新进程来初始化队列
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
{
q->flags	= 0;
q->private	= p;
q->func		= default_wake_function;
}
可见这里等待队列到期执行的函数default_wake_function主要用来wakeup当前thread。
static inline void
init_waitqueue_func_entry(wait_queue_t *q, wait_queue_func_t func)
{
q->flags	= 0;
q->private	= NULL;
q->func		= func;
}
通过init_waitqueue_func_entry 可以指定等待队列到期执行的函数为用户指定的函数。即等待队列到期
不一定非得执行wakeup函数.可以检测一个条件,如果这个条件成立的话再调用default_wake_function来
唤醒进程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: