Tags: nsaway/fsnotify
Tags
global: switch to x/sys/unix The syscall package is locked since 1.4[1], all new changes are in x/sys[2] The fixes for epoll/arm64 are going to be loaded to x/sys/unix. This commit is straightforward search/replace with a couple of hand edits. This is needed for fixing fsnotify#130 [1] https://golang.org/s/go1.4-syscall [2] https://godoc.org/golang.org/x/sys/unix closes fsnotify#135
Fix golint errors in windows.go for fsnotify#116 closes fsnotify#121 fixes fsnotify#116
kqueue: fix Remove-logic `os.Lstat` does not return `error` when a file/directory exists, so the code path to check for newly created files after a REMOVE on BSD was never executed. Also, if the watched entry is a file, it has been removed from the watcher, so do a new-file-check for them as well. This commit fixes issues on TextMate on OS X and others that uses `exchangedata` to do atomic saves. See fsnotify#17. closes fsnotify#111.
kqueue: avoid infinite loops from symlinks cycles The semenatics of using kqueue are already slightly different than inotify, specifically that inotify will give you events for the symlink itself whereas kqueue will only give events for the target of the symlink. This preserves that behaviour, that symlinks don't get notified on, but ensures that circular symlinks don't recurse forever. This change pushes the resolved filename up through the stack so that the fileExists map can be properly populated; not doing so would mean that deleting a cyclical symlink and then replacing it with a file of the same name would not notify for that file's creation (or subsequent events) because we would believe that the file already existed.
PreviousNext