6

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

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

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

4

1 回答 1

1

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

于 2012-09-27T15:33:51.337 回答