diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-04-12 10:07:08 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-04-12 21:15:51 +0200 |
commit | 3b67759495c9268c30e6ba2d8c7e3b75d52d2960 (patch) | |
tree | f2b594fa616c7807108c660f7191d95362f17bcd /hugolib | |
parent | 5fad8a9d06319063ee05799068fd9f66e9bed268 (diff) |
hugolib: Avoid processing the same notify event twice
On `macOS`, at least, we've seen multiple WRITE events for same file, and no need to do the same job twice.
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/site.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/hugolib/site.go b/hugolib/site.go index 768fe147f..d8e40f039 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -633,8 +633,15 @@ func (s *Site) reProcess(events []fsnotify.Event) (whatChanged, error) { shortcodesChanged := make(map[string]bool) // prevent spamming the log on changes logger := helpers.NewDistinctFeedbackLogger() + seen := make(map[fsnotify.Event]bool) for _, ev := range events { + // Avoid processing the same event twice. + if seen[ev] { + continue + } + seen[ev] = true + if s.isContentDirEvent(ev) { logger.Println("Source changed", ev.Name) sourceChanged = append(sourceChanged, ev) |