首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WaitForMultipleObjects在Linux内核中的等价物

问WaitForMultipleObjects在Linux内核中的等价物
EN

Stack Overflow用户
提问于 2018-08-13 13:53:38
回答 1查看 360关注 0票数 0

是否有人尝试过将WaitForMultipleObjects驱动程序代码移植到Linux上,并尝试将windows API替换到Linux上。

可以用wait_event_interruptible替换WaitForSingleObject。

但是WaitForMultipleObjects呢..我在文章中看到他们正在使用pthread_cond_wait作为用户空间应用程序。linux内核空间的替代方案是什么..

谢谢你抽出时间来..

EN

回答 1

Stack Overflow用户

发布于 2018-09-26 12:50:43

您可以安排让表示事件的多个代码路径在同一等待队列上调用wake_up()。这等同于带有false WaitAll的WaitForMultipleObjects。

如何知道发生了哪个事件:一种可能是使用一个带有鲜为人知的“关键”参数的唤醒变体:wake_up_poll()及其朋友。参见linux/wait.h。"key“参数对于每个事件都应该是唯一的。然后,定制等待队列(类型为wait_queue_func_t)的唤醒处理函数。它接受四个参数;"key“是最后一个,未被默认处理程序使用。"Subclass“它,并使用"key”参数来识别谁已经被唤醒。

对于WaitAll=true,请一直等待,直到所有事件发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51815908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档