gpt4 book ai didi

c++ - 可以合并 Inotify 和 Select 调用吗?

转载 作者:太空狗 更新时间:2023-10-29 12:20:15 27 4
gpt4 key购买 nike

我想等待文件更改或套接字输入。这两件事都很少发生,我宁愿将它们都放在同一个线程中,而不是为它们弄乱单独的线程,只是为了避免一点点“困惑”。由于 Inotify_init 似乎提供了一个文件描述符,我曾认为我可以将它传递给 select,就像我传递一个 socket 一样,select 将有效地监控两者。然而,我试着用谷歌搜索它,但没有发现任何发生这种情况的例子,而且似乎如果可能的话,互联网上某处就会有它发生的例子。

任何人都可以验证我是否可以像将套接字一样将描述符从 INotify 传递到选择方法中?或者是否有任何其他阻塞方法可以监听文件和套接字更新?

谢谢

最佳答案

这通常是 Unix 设备的工作方式。一旦你有了文件描述符,你就可以将它传递给select/poll/epoll(你应该更喜欢epoll在 Linux 系统上)。但是,documentation for inotify明确声明它是可选择的。因此,如果您发现它不起作用,您可以提交错误。

您可以使用 inotify_init1 并传递 IN_NONBLOCK 作为标志以在非阻塞模式下打开描述符。

关于c++ - 可以合并 Inotify 和 Select 调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798419/

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