首页 > 代码库 > 12 Linux驱动之阻塞IO
12 Linux驱动之阻塞IO
阻塞IO机制:使用等待队列
1.定义等待队列头
wait_queue_head_t read_wait;
2.初始化等待队列头
init_waitqueue_head(wait_queue_head_t *q);
3.让进程等待
int wait_event(wait_queue_head_t wq ,bool condition); //条件为假的时候,设为不可中断的等待
int wait_event_interruptible(wait_queue_head_t wq,bool condition)//条件为假的时候,设为可中断等待
返回值:
正常唤醒返回0,被信号唤醒返回非0
注意:condition提供的条件,为假的时候,才睡眠
4.唤醒等待进程
wake_up(wait_queue_head_t *q);//唤醒的等待队列中所有进程
wake_up_interruptible(wait_queue_head_t *q) //唤醒等待队列中可中断的进程
schedule()
12 Linux驱动之阻塞IO
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。