在多线程程序中将监视添加到Inotify

问题描述 投票:5回答:1

我想使用inotify监视我的C程序中的一些文件。

我想知道从inotify描述符(由inotify_init返回的那个)读取一个线程是否安全,从而阻塞直到某个事件发生,在此等待期间有可能在另一个线程期间使用inotify_add_watch添加新文件到监视队列等待期。

我是否需要同步这些操作或者做这样的事情是否安全?

linux multithreading inotify
1个回答
1
投票

没有确切的答案,但我从经验中知道,你甚至无法在另一个线程中打开文件而不会触发你正在使用inotify的线程中的read()。我记得读过你需要使用inotify_init1()和IN_CLOEXEC标志来允许其他线程中的文件io。我不确定这是否意味着你可以同时在多个线程中同时使用inotify。

© www.soinside.com 2019 - 2024. All rights reserved.