wait_event_interruptible和wake_up_interruptible这两个是内核定义的宏

原型:

wait_event_interruptible(wq, condition)

wake_up_interruptible(x)


wq:等待队列,当后面的条件不成立则进程进入休眠

condition:判断条件 ,0或非0值

x: 等待队列,要唤醒的等待队列,即唤醒对应的进程


当函数中调用wait_event_interruptible后,如果条件不成立,就会一直卡在这里。不会往下执行。反复检查condition是否成立,如果成立则退出,如果不成立则继续休眠;条件满足后,即把本进程运行状态置为运行态(此时如果不执行下面的函数 wake_up_interruptible,上面wait_event_interruptible还会继续休眠)