gpt4 book ai didi

c++ - 在非阻塞文件描述符上等待长时间运行的 ioctl

转载 作者:太空宇宙 更新时间:2023-11-04 12:03:02 27 4
gpt4 key购买 nike

拿一个串口。串行端口可以调用带有TIOCMIWAITioctl 来等待信号变化。但是,如果串行端口以非阻塞方式打开,如何使用 selectpollepoll 之类的东西来中断事件-当像CTS这样的信号线改变时循环?让我们假设串行端口也大量用于读写。产生另一个线程似乎是一个糟糕的选择。

在Windows上,OVERLAPPED IO完美解决了这个问题。

我对上面列出的具体情况感兴趣,但也对如何编写需要将中断传递给用户空间的设备驱动程序感兴趣。

最佳答案

我想您可能想看看使用 pselect()。它与 select() 相同,但它还允许您设置信号掩码。可以在此处的最佳答案中找到有关如何使用 pselect 的示例:

catching signals while reading from pipe with select()

关于c++ - 在非阻塞文件描述符上等待长时间运行的 ioctl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51692366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com