From 68e2e63d92d238ad9b8a714acd2467bb43122ada Mon Sep 17 00:00:00 2001 From: Tatsushi Demachi Date: Mon, 1 Feb 2016 00:21:12 +0900 Subject: [PATCH] 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 --- hugolib/site.go | 7 ++++--- 1 file 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)