代码之家  ›  专栏  ›  技术社区  ›  Jordan

inotify是否将IN_MOVED_FROM和IN_MOVED_TO分组?

  •  1
  • Jordan  · 技术社区  · 12 年前

    我使用一个inotify文件描述符来监视许多繁忙目录中的几个事件,包括 IN_MOVED_TO IN_MOVED_FROM .

    我有一个循环 read 在它上(阻塞直到有数据要读取),并在事件发生时处理事件。

    当一个文件在被监视的两个目录之间移动时 inotify_event s被写入inotify文件描述符:一个带有 在视频中 位设置在 mask 还有一个 输入视频 ,两者相同 cookie .

    是否保证这两个事件都将通过对的相同调用进行缓冲 阅读 ,或者我可能需要调用它一次来缓冲一个事件,然后再调用它来缓冲下一个事件?

    1 回复  |  直到 12 年前
        1
  •  2
  •   zeekvfu    11 年前

    AFAIK,没有这样的保证。
    我们只能相信这两件事( IN_MOVED_FROM , IN_MOVED_TO )在重命名操作上与 cookie .

    除上述假设外的任何假设都是不可靠的,例如:

    • 这两个事件将依次发生(一个紧接着另一个)。
    • 这两个事件将出现在同一个 read 系统调用在一起。