Skip to content
This repository has been archived by the owner on Jun 8, 2022. It is now read-only.

Commit

Permalink
Merge pull request #73 from gophertown/spotlight
Browse files Browse the repository at this point in the history
Add note about Spotlight double modify events to README
  • Loading branch information
howeyc committed Nov 2, 2013
2 parents 6258bb8 + 96be172 commit 6992c2d
Showing 1 changed file with 32 additions and 13 deletions.
45 changes: 32 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build Status](https://goci.herokuapp.com/project/image/github.com/howeyc/fsnotify)](http://goci.me/project/github.com/howeyc/fsnotify)

[GoDoc](http://go.pkgdoc.org/github.com/howeyc/fsnotify)
[GoDoc](http://godoc.org/github.com/howeyc/fsnotify)

Cross platform, works on:
* Windows
Expand Down Expand Up @@ -59,15 +59,34 @@ For each event:
* 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.
* There are OS-specific limits as to how many watches can be created:
* Linux: /proc/sys/fs/inotify/max_user_watches contains the limit,
reaching this limit results in a "no space left on device" error.
* BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc",
reaching these limits results in a "too many open files" error.
### FAQ

**When a file is moved 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 (a recursive watcher is in the works [#56][]).

**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 (see [#7][])

**Why am I receiving multiple events for the same file on OS X?**

Spotlight indexing on OS X can result in multiple events (see [#62][]). A temporary workaround is to add your folder(s) to the *Spotlight Privacy settings* until we have a native FSEvents implementation (see [#54][]).

**How many files can be watched at once?**

There are OS-specific limits as to how many watches can be created:
* Linux: /proc/sys/fs/inotify/max_user_watches contains the limit,
reaching this limit results in a "no space left on device" error.
* BSD / OSX: sysctl variables "kern.maxfiles" and "kern.maxfilesperproc", reaching these limits results in a "too many open files" error.


[#62]: https://github.com/howeyc/fsnotify/issues/62
[#56]: https://github.com/howeyc/fsnotify/issues/56
[#54]: https://github.com/howeyc/fsnotify/issues/54
[#7]: https://github.com/howeyc/fsnotify/issues/7

0 comments on commit 6992c2d

Please sign in to comment.