码迷,mamicode.com
首页 > 系统相关 > 详细

12 Linux驱动之阻塞IO

时间:2016-12-11 15:53:58      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:bool   驱动   wait   信号   睡眠   使用   init   进程   nbsp   

阻塞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

标签:bool   驱动   wait   信号   睡眠   使用   init   进程   nbsp   

原文地址:http://www.cnblogs.com/gaoningbo/p/6159559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!