From 58c446f56282cb8c24f5dce0ef03e5e7bebe00ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sat, 21 Nov 2015 20:03:18 +0100 Subject: [PATCH] Fix recently introduced new data race in the shortcode handling Fixes #1599 --- hugolib/shortcode.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go index e65a85989..c49418b85 100644 --- a/hugolib/shortcode.go +++ b/hugolib/shortcode.go @@ -343,9 +343,14 @@ Loop: if tmpl == nil { return sc, fmt.Errorf("Unable to locate template for shortcode '%s' in page %s", sc.name, p.BaseFileName()) } + + // TODO(bep) Refactor/rename this lock strategy + isInnerShortcodeCache.Lock() if tmpl.Tree == nil { + isInnerShortcodeCache.Unlock() return sc, fmt.Errorf("Template for shortcode '%s' failed to compile for page '%s'", sc.name, p.BaseFileName()) } + isInnerShortcodeCache.Unlock() isInner = isInnerShortcode(tmpl) case tScParam: