There have been indications that this may freeze the server.
if r.buildWatch {
defer r.timeTrack(time.Now(), "Built")
}
- close, err := b.build()
+ err := b.build()
if err != nil {
return err
}
- close()
return nil
}()
if err != nil {
return watcher, nil
}
-func (c *hugoBuilder) build() (func(), error) {
+func (c *hugoBuilder) build() error {
stopProfiling, err := c.initProfiling()
if err != nil {
- return nil, err
+ return err
}
+ defer func() {
+ if stopProfiling != nil {
+ stopProfiling()
+ }
+ }()
+
if err := c.fullBuild(false); err != nil {
- return nil, err
+ return err
}
if !c.r.quiet {
c.r.Println()
h, err := c.hugo()
if err != nil {
- return nil, err
+ return err
}
h.PrintProcessingStats(os.Stdout)
c.r.Println()
}
- return func() {
- if stopProfiling != nil {
- stopProfiling()
- }
- }, nil
+ return nil
}
func (c *hugoBuilder) buildSites(noBuildLock bool) (err error) {
}
- var close func()
err := func() error {
defer c.r.timeTrack(time.Now(), "Built")
var err error
- close, err = c.build()
+ err = c.build()
return err
}()
if err != nil {
return err
}
- defer close()
-
return c.serve()
}