当前位置:  技术问答>linux和unix

关于prepare_to_wait的参数

    来源: 互联网  发布时间:2016-02-11

    本文导语:  函数原型如下:void prepare_to_wait(wait_queue_head_t *queue, wait_queue_t *wait, int state) 其中queue是等待队列头,wait书上说是"进程入口",但是我并没有看到什么进程,wait的创建及初始化只用了一个宏: DEFINE_WAIT(wait),请问wait到底是...

函数原型如下:void prepare_to_wait(wait_queue_head_t *queue, wait_queue_t *wait, int state)
其中queue是等待队列头,wait书上说是"进程入口",但是我并没有看到什么进程,wait的创建及初始化只用了一个宏:
DEFINE_WAIT(wait),请问wait到底是什么,它的作用是什么?谢谢!!

|
#define DEFINE_WAIT(name)
wait_queue_t name = {
.private = current,
.func = autoremove_wake_function,
.task_list = LIST_HEAD_INIT((name).task_list),
}

typedef struct __wait_queue wait_queue_t;

struct __wait_queue {
unsigned int flags;
#define WQ_FLAG_EXCLUSIVE 0x01
void *private;
wait_queue_func_t func;
struct list_head task_list;
};

===========================================================================
wait_queue_t name 
即struct __wait_queue name
name 是你的宏的参数字符串,你自己取名的
来看它的对象
.private = current,//私有void指针表当前正在运行的进程宏
.func = autoremove_wake_function,//函数指针赋值
.task_list = LIST_HEAD_INIT((name).task_list),//就是让列表头指向自己

"请问wait到底是什么"
一个结构对象,一个等到队列头

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3