2013-04-25 50 views
0

我使用單個inotify文件描述符來監視多個事件的繁忙目錄,其中包括IN_MOVED_TOIN_MOVED_FROMInotify組IN_MOVED_FROM和IN_MOVED_TO?

我有一個循環,它調用read(它會阻塞,直到有數據被讀取)並處理事件發生時。

當一個文件的兩個目錄之間移動被監視,二inotify_event s的寫入的inotify文件描述符:一個與所述maskIN_MOVED_TO集和一個用IN_MOVED_FROM,兩者具有相同的cookie

是否保證兩個事件都將被緩衝到與read相同的調用,或者我可能需要調用一次緩衝一個事件並再次緩衝下一個事件?

+0

它似乎是不能有任何這樣的保證:如果你的讀取緩衝區不夠大,以包含這兩個事件? – Celada 2013-04-25 20:30:19

回答

1

AFAIK,沒有這樣的保證。
我們可以依賴的僅僅是重命名操作中的兩個事件(IN_MOVED_FROM,IN_MOVED_TO)與相同的cookie相關聯。

除了上述的任何假設是不可靠的,例如:

  • 這兩個事件將相繼到來(一個來自右後等)。
  • 這兩個事件將一起出現在同一個read系統調用中。