b133a76f96
Recursive inotify has beaten me before, with its bad design and races, but not this time! (I think.) This is able to follow the strongest filesystem traffic I can throw at it, and robustly notices every file add and delete. Mostly that's down to Haskell having a quite nice threaded inotify library (that does its own buffering). A key insight was realizing that the inotify directory add race could be dealt with by scanning for files inside newly added directories. TODO: Add support for freebsd/osx kqueue; see http://hackage.haskell.org/package/kqueue Can a git-annex-monitor be far off? |
||
---|---|---|
.. | ||
Base64.hs | ||
CoProcess.hs | ||
CopyFile.hs | ||
DataUnits.hs | ||
Directory.hs | ||
diskfree.c | ||
diskfree.h | ||
DiskFree.hs | ||
Dot.hs | ||
Exception.hs | ||
FileMode.hs | ||
FileSystemEncoding.hs | ||
Format.hs | ||
Gpg.hs | ||
Inotify.hs | ||
JSONStream.hs | ||
Matcher.hs | ||
Misc.hs | ||
Monad.hs | ||
PartialPrelude.hs | ||
Path.hs | ||
RsyncFile.hs | ||
SafeCommand.hs | ||
State.hs | ||
TempFile.hs | ||
Touch.hsc | ||
Url.hs |