Download presentation
Presentation is loading. Please wait.
Published by哉 那拉 Modified 8年之前
1
阻塞操作
2
在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
3
queue: wait_queue_head_t 类型的变量,表示要等待的队列头 condition: 条件判断 timeout: 超时时限 调用以上函数的进程会把它自己添加到 queue 队列上,然 后睡眠直到 condition 为 1
4
返回值 : 对于 wait_event_interruptible, 返回 0 表示请求的条件得到满足 (condition 变为 1), 返回非 0 值表示被信号打断。 对于 wait_event_interruptible_timeout 的返回值则比较复杂 : 返回值 <0, 表示被信号打断 返回值 >0, 表示条件得到满足 (condition 变为 1), 且时间还有剩余,返回值 表示剩余的时间片 返回值 =0 ,表示超时,假如返回值为 0 ,应该检测 condition 的值是否为 1
5
queue : wait_queue_head_t 类型的指针,表示队列头 wake_up 唤醒所有在给定等待队列的进程; wake_up_interruptible 唤醒所有在给定队列上的 可中断的进程;
Similar presentations