现在的位置: 首页 > 综合 > 正文

内核的completion机制

2014年02月17日 ⁄ 综合 ⁄ 共 501字 ⁄ 字号 评论关闭

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退出的通知就会结束整个线程

抱歉!评论已关闭.