ref: 58c446f56282cb8c24f5dce0ef03e5e7bebe00ef
parent: 5c7234015d15ca860f3c40dac112d1c3b38346f4
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Nov 21 15:03:18 EST 2015
Fix recently introduced new data race in the shortcode handling Fixes #1599
--- a/hugolib/shortcode.go
+++ b/hugolib/shortcode.go
@@ -343,9 +343,14 @@
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: