Commit Graph

13 Commits

Author SHA1 Message Date
Benoit Sigoure 5e2d004af5 watch: Fix prototype to be more restrictive.
Change-Id: Ic744312efa91cf5c2dc2810e597353a080dccb70
2016-04-08 16:29:40 -07:00
Benoit Sigoure ac5972aca8 watch: Unsubscribe from fsnotify synchronously.
Calling watcher.Remove() from the run() goroutine is now problematic,
because with the change made in fsnotify/fsnotify#73 Remove() can now
take an arbitrary amount of time, which means we can deadlock if run()
is waiting for fsnotify to acknowledge the removal and fsnotify is
trying to send an unrelated Event.

So instead we now do part of the cleanup, including calling Remove(),
synchronously, in the goroutine trying to unsubscribe.

This fixes #75.  Thanks to Aaron Beitch for the fix.

Change-Id: I346c9eecc34b2378312b07b3c3efc41616b95380
2016-04-08 16:29:40 -07:00
miraclesu 6aef373ea6 fix block until exists function 2015-12-09 15:29:06 +08:00
Alex Liu abb1479f04 Remove pointer from fsnotify.Event 2015-10-27 22:42:26 -07:00
Alex Liu 8b4773e24e Upgrade to fsnotify.v1 2015-10-27 22:42:25 -07:00
Andy Ouyang d46611791d Moved InotifyTracker initialization to constructor function 2015-10-27 22:42:25 -07:00
Andy Ouyang a5dc0d39ba Ensure InotifyTracker attempts to send all FileEvents 2015-10-27 22:42:25 -07:00
Andy Ouyang f053e2cd0c Fixed race conditions in watch/inotify_tracker.go 2015-10-27 22:42:25 -07:00
Andy Ouyang 0b9f044bb3 Ignoring EINTR (ctrl+Z) signal 2015-10-27 22:42:25 -07:00
Andy Ouyang b155fc13d4 Single shared Watcher used to avoid inotify limit 2015-10-27 22:42:07 -07:00
Sridhar Ratnakumar 15e71d383e Use stable version of fsnotify
fixes #46
2015-06-28 20:23:06 -07:00
Sridhar Ratnakumar baf6674f00 add copyright statements 2014-04-12 16:59:40 -07:00
Sridhar Ratnakumar 323e1c0988 add Cleanup function to close open inotify watches
bug: 101635
2013-11-12 20:15:27 -08:00