内核的completion机制

来源:互联网 发布:e4a中文安卓编程软件 编辑:程序博客网 时间:2024/05/28 05:13

completion机制


DECLARE_COMPLETION(name)

定义并初始化一个completion


INIT_COMPLETION(struct completion c);

重新初始化一个completion, 主要是用在被唤醒的进程重新进入等待前的初始化


void init_completion(struct completion *c)

初始化一个completion


void wait_for_completion(struct completion *c)

进行一个不可打断的等待


void complete(struct completion *c)

唤醒一个等待的进程


void complete_call(struct completion *c)

唤醒所有等待的进程


void complete_and_exit(struct completion *c, long retval)

在内核线程A收到退出命令后,通知另一个内核线程B退出, 并等待B退出完成; B退出完成后调用complete通知A, 如果这种情况下用的是completion机制而A最后等待complete的时候调用的是这个函数,那么,A一收到B退出的通知就会结束整个线程



原创粉丝点击