函数原型:wait_event_interruptible_timeout(wq, condition, timeout)
* 函数作用:~睡眠~,直到condition为真,或timeout超时;
* @wq: 要等待的等待队列
* @condition: 等待事件发生的条件(一个C表达式 )
* @timeout: 超时时间
程序是用来睡眠的(TASK_INTERRUPTIBLE状态下),直到@condition为真,或者收到一个信号。
每次等待队列@wq被唤醒时,检查@condition;
若有可以改变等待条件的任何更改操作,调用wake_up();
如果@timeout超时,函数返回0;如果是被信号中断,函数返回-ERESTARTSYS;
在超时之前condition 为true,否则继续剩余的jiffies 。