是否有来自内核模块的中断可以通知在用户空间中运行的 Qt 嵌入式程序?不使用 ioctl 的“wait_event_interruptible()”?
我希望我的程序能够正常运行,而不必“等待”或进行轮询以检查中断是否发生。一旦中断发生,程序就会使用react
这个问题和我的相似How kernel notify a user space program an interrupt occurrs但他正在使用“wait_event_interruptible()”
谢谢
最佳答案
您也可以尝试使用 netlink (libnl)。在驱动程序中,您只需要单播消息的 pid 号。从应用程序中,您可以使用套接字的 recvmsg() 来等待事件发生。
- [app]----{向驱动程序发送消息}---> [驱动程序](驱动程序现在知道 pid 并保存它)
- [app]------{blocking recvmsg}--------> 等待事件发生
- [app]<--------{带有负载的消息}--- [driver](将事件信息作为单播发送到 pid)
希望对你有帮助,
问候
关于内核模块(Linux)中编写的中断可以通知Qt中正在运行的程序吗?没有用户空间程序等待/轮询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13766494/