if ( down_interruptible(&dev->sem) ) return -ERESTARTSYS;// continue: down_interruptible succeeded
当我调用wake_up_interruptible并且它被中断时,如果它返回voID,我怎么知道呢?
解决方法 我想正常的使用场景是,在一个线程中:for (;;) { wait_event_interruptible(wait_queue,condition); /* Some processing */}
并从其他一些线程:
if (something_happened) wake_up_interruptible(wait_queue);
这将导致一个进程从wait_queue进入,该进程处于TASK_INTERRUPTIBLE状态,被唤醒并评估条件
看一些更多的例子here,有点过时的位给出了一个想法
总结以上是内存溢出为你收集整理的linux-kernel – 如何使用wake_up_interruptible全部内容,希望文章能够帮你解决linux-kernel – 如何使用wake_up_interruptible所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)