vendor: Update github.com/syncthing/notify (fixes #4854) (#5032)

This commit is contained in:
Simon Frei
2018-06-26 10:13:39 +02:00
committed by Jakob Borg
parent 7b0d8c2e77
commit 406b394704
8 changed files with 93 additions and 108 deletions

View File

@@ -19,34 +19,10 @@
package notify
import "fmt"
var defaultTree tree // lazy init
var defaultTree = newTree()
type DoNotWatchFn func(string) bool
func lazyInitDefaultTree() (err error) {
if defaultTree != nil {
// already initialized
return nil
}
defer func() {
// newTree might panic. Patch it up.
if rec := recover(); rec != nil {
switch rec := rec.(type) {
case error:
err = rec
default:
err = fmt.Errorf("init default tree: %v", rec)
}
}
}()
defaultTree = newTree()
return nil
}
// Watch sets up a watchpoint on path listening for events given by the events
// argument.
//
@@ -87,9 +63,6 @@ func lazyInitDefaultTree() (err error) {
// e.g. use persistent paths like %userprofile% or watch additionally parent
// directory of a recursive watchpoint in order to receive delete events for it.
func Watch(path string, c chan<- EventInfo, events ...Event) error {
if err := lazyInitDefaultTree(); err != nil {
return err
}
return defaultTree.Watch(path, c, nil, events...)
}
@@ -98,10 +71,7 @@ func Watch(path string, c chan<- EventInfo, events ...Event) error {
// doNotWatch. Given a path as argument doNotWatch should return true if the
// file or directory should not be watched.
func WatchWithFilter(path string, c chan<- EventInfo,
doNotWatch DoNotWatchFn, events ...Event) error {
if err := lazyInitDefaultTree(); err != nil {
return err
}
doNotWatch func(string) bool, events ...Event) error {
return defaultTree.Watch(path, c, doNotWatch, events...)
}
@@ -111,8 +81,5 @@ func WatchWithFilter(path string, c chan<- EventInfo,
// Stop does not close c. When Stop returns, it is guaranteed that c will
// receive no more signals.
func Stop(c chan<- EventInfo) {
if defaultTree == nil {
return
}
defaultTree.Stop(c)
}