Fix Hugo hang up with empty content directory
authorTatsushi Demachi <tdemachi@gmail.com>
Sun, 31 Jan 2016 15:21:12 +0000 (00:21 +0900)
committerTatsushi Demachi <tdemachi@gmail.com>
Tue, 2 Feb 2016 23:19:02 +0000 (08:19 +0900)
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

index de3f7c8cb030c7fe62e7fee79d49fc9bf4d17be4..037ae2750ef6ec4ed900586c3acaaa72626d9d29 100644 (file)
@@ -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)