diff options
author | Anthony Fok <[email protected]> | 2015-03-10 09:59:55 -0600 |
---|---|---|
committer | Anthony Fok <[email protected]> | 2015-03-10 09:59:55 -0600 |
commit | 81695717e6dcb6c040cbaf54d179c2c49202a5d1 (patch) | |
tree | c9c88f88d76f16c818b0668f0e7ded66dfcdec07 /watcher | |
parent | 634548b9af81c813d74cc07ce01b43c32a32fe91 (diff) | |
download | hugo-81695717e6dcb6c040cbaf54d179c2c49202a5d1.tar.gz hugo-81695717e6dcb6c040cbaf54d179c2c49202a5d1.zip |
Switch from fsnotify.v0 to fsnotify.v1 API (watcher)
Fixes #357
See also #761
Diffstat (limited to 'watcher')
-rw-r--r-- | watcher/batcher.go | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/watcher/batcher.go b/watcher/batcher.go index 479603f1e..e5733d20b 100644 --- a/watcher/batcher.go +++ b/watcher/batcher.go @@ -1,9 +1,22 @@ +// Copyright © 2013-2015 Steve Francia <[email protected]>. +// +// Licensed under the Simple Public License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://opensource.org/licenses/Simple-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package watcher import ( "time" - "gopkg.in/fsnotify.v0" + "gopkg.in/fsnotify.v1" ) type Batcher struct { @@ -11,7 +24,7 @@ type Batcher struct { interval time.Duration done chan struct{} - Event chan []*fsnotify.FileEvent // Events are returned on this channel + Events chan []fsnotify.Event // Events are returned on this channel } func New(interval time.Duration) (*Batcher, error) { @@ -21,7 +34,7 @@ func New(interval time.Duration) (*Batcher, error) { batcher.Watcher = watcher batcher.interval = interval batcher.done = make(chan struct{}, 1) - batcher.Event = make(chan []*fsnotify.FileEvent, 1) + batcher.Events = make(chan []fsnotify.Event, 1) if err == nil { go batcher.run() @@ -32,18 +45,18 @@ func New(interval time.Duration) (*Batcher, error) { func (b *Batcher) run() { tick := time.Tick(b.interval) - evs := make([]*fsnotify.FileEvent, 0) + evs := make([]fsnotify.Event, 0) OuterLoop: for { select { - case ev := <-b.Watcher.Event: + case ev := <-b.Watcher.Events: evs = append(evs, ev) case <-tick: if len(evs) == 0 { continue } - b.Event <- evs - evs = make([]*fsnotify.FileEvent, 0) + b.Events <- evs + evs = make([]fsnotify.Event, 0) case <-b.done: break OuterLoop } |