commit f94cd2813d074f81fe3e96119e0f6de20aca5729
parent d1cf262b74e38feb95466a906a5775340024ad95
Author: Steve Francia <steve.francia@gmail.com>
Date: Thu, 2 Jun 2016 16:47:28 -0400
Handle errors during rereading properly
Without this fix, any error during rereading would cause Hugo to hang.
Fixes #2168
Closes #2179
Diffstat:
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/hugolib/site.go b/hugolib/site.go
@@ -505,11 +505,15 @@ func (s *Site) ReBuild(events []fsnotify.Event) error {
}
file, err := s.reReadFile(ev.Name)
+
if err != nil {
- errs <- err
+ jww.ERROR.Println("Error reading file", ev.Name, ";", err)
+ }
+
+ if file != nil {
+ filechan <- file
}
- filechan <- file
}
// we close the filechan as we have sent everything we want to send to it.
// this will tell the sourceReaders to stop iterating on that channel
@@ -559,8 +563,8 @@ func (s *Site) ReBuild(events []fsnotify.Event) error {
return nil
}
- return err
+ return err
}
func (s *Site) Analyze() error {
@@ -835,7 +839,6 @@ func (s *Site) reReadFile(absFilePath string) (*source.File, error) {
if err != nil {
return nil, err
}
-
file, err = source.NewFileFromAbs(s.absContentDir(), absFilePath, reader)
if err != nil {