我想使用inotify监视我的C程序中的某些文件。
我想知道从inotify描述符(由inotify_init
返回的那个)读取一个线程是否安全,从而阻塞直到某个事件发生,在此等待期间有可能添加新文件以供观察在其他线程等待期间使用inotify_add_watch
排队。
我是否需要同步这些操作,或者这样做是否安全?
答案 0 :(得分:1)
没有确切的答案,但我确实从经验中知道,如果不在您使用inotify的线程中触发read(),您甚至无法在另一个线程中打开文件。我记得读过你需要使用inotify_init1()和IN_CLOEXEC标志来允许其他线程中的文件io。我不确定这是否意味着您实际上可以同时在多个线程中使用inotify。