diff --git a/watch/inotify.go b/watch/inotify.go index 4478f1e..948fee1 100644 --- a/watch/inotify.go +++ b/watch/inotify.go @@ -95,6 +95,15 @@ func (fw *InotifyFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChange } switch { + //With an open fd, unlink(fd) - inotify returns IN_ATTRIB (==fsnotify.Chmod) + case evt.Op&fsnotify.Chmod == fsnotify.Chmod: + if _, err := os.Stat(fw.Filename); err != nil { + if ! os.IsNotExist(err) { + return + } + } + fallthrough + case evt.Op&fsnotify.Remove == fsnotify.Remove: fallthrough