Windows - fix up handling of ERROR_MORE_DATA
1 file changed
tree: c7053441a9aafc6c646ec518f44b19ff2e1149bd
- AUTHORS
- example_test.go
- fsnotify.go
- fsnotify_bsd.go
- fsnotify_linux.go
- fsnotify_open_bsd.go
- fsnotify_open_darwin.go
- fsnotify_symlink_test.go
- fsnotify_test.go
- fsnotify_windows.go
- LICENSE
- README.md
README.md
File system notifications for Go
GoDoc
Cross platform, works on:
Example:
package main
import (
"log"
"github.com/howeyc/fsnotify"
)
func main() {
watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatal(err)
}
done := make(chan bool)
// Process events
go func() {
for {
select {
case ev := <-watcher.Event:
log.Println("event:", ev)
case err := <-watcher.Error:
log.Println("error:", err)
}
}
}()
err = watcher.Watch("testDir")
if err != nil {
log.Fatal(err)
}
<-done
/* ... do stuff ... */
watcher.Close()
}
For each event:
- Name
- IsCreate()
- IsDelete()
- IsModify()
- IsRename()
Notes:
- When a file is renamed to another directory is it still being watched?
- No (it shouldn't be, unless you are watching where it was moved to).
- When I watch a directory, are all subdirectories watched as well?
- No, you must add watches for any directory you want to watch.
- Do I have to watch the Error and Event channels in a separate goroutine?
- As of now, yes. Looking into making this single-thread friendly.