summaryrefslogtreecommitdiff
path: root/Utility/Inotify.hs
Commit message (Collapse)AuthorAge
* noopGravatar Joey Hess2012-04-21
|
* in which I discover voidGravatar Joey Hess2012-04-21
| | | | void :: Functor f => f a -> f () -- ah, of course that's useful :)
* allow add or del events to be ignoredGravatar Joey Hess2012-04-12
|
* allow excluding directories from being watchedGravatar Joey Hess2012-04-12
|
* don't fall over broken linksGravatar Joey Hess2012-04-12
|
* add waitForTerminationGravatar Joey Hess2012-04-11
|
* recursive inotify thingGravatar Joey Hess2012-04-11
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?