diff options
author | Tatsushi Demachi <tdemachi@gmail.com> | 2016-01-31 18:21:12 +0300 |
---|---|---|
committer | Tatsushi Demachi <tdemachi@gmail.com> | 2016-02-03 02:19:02 +0300 |
commit | 68e2e63d92d238ad9b8a714acd2467bb43122ada (patch) | |
tree | 28b0c57ce9aaa76dc6b7080cd854f238dd667ab2 | |
parent | ec02b9908cef4f4e022d9bd207c64a3ca086b57a (diff) |
Fix Hugo hang up with empty content directory
Site.ReadPagesFromSource returns nil chan error value when a site
content directory is empty but its receiver expects to be passed
something error values via the channel.
This fixes it by returning a channel which will be immediately closed.
Fix #1797
-rw-r--r-- | hugolib/site.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/hugolib/site.go b/hugolib/site.go index de3f7c8cb..037ae2750 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -876,8 +876,11 @@ func (s *Site) ReadPagesFromSource() chan error { panic(fmt.Sprintf("s.Source not set %s", s.absContentDir())) } + errs := make(chan error) + if len(s.Source.Files()) < 1 { - return nil + close(errs) + return errs } files := s.Source.Files() @@ -891,8 +894,6 @@ func (s *Site) ReadPagesFromSource() chan error { go sourceReader(s, filechan, results, wg) } - errs := make(chan error) - // we can only have exactly one result collator, since it makes changes that // must be synchronized. go readCollator(s, results, errs) |