hugolib: Fix deadlock when content building times out

Fixes #5375
This commit is contained in:
Bjørn Erik Pedersen
2018-10-30 11:15:15 +01:00
parent e65268f2c2
commit 729593c842
2 changed files with 39 additions and 2 deletions

View File

@@ -290,10 +290,11 @@ func (p *Page) initContent() {
defer cancel()
c := make(chan error, 1)
p.contentInitMu.Lock()
defer p.contentInitMu.Unlock()
go func() {
var err error
p.contentInitMu.Lock()
defer p.contentInitMu.Unlock()
err = p.prepareForRender()
if err != nil {
@@ -301,6 +302,12 @@ func (p *Page) initContent() {
return
}
select {
case <-ctx.Done():
return
default:
}
if len(p.summary) == 0 {
if err = p.setAutoSummary(); err != nil {
err = p.errorf(err, "failed to set auto summary")