hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 58c446f56282cb8c24f5dce0ef03e5e7bebe00ef
parent 5c7234015d15ca860f3c40dac112d1c3b38346f4
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Sat, 21 Nov 2015 20:03:18 +0100

Fix recently introduced new data race in the shortcode handling

Fixes #1599

Diffstat:
Mhugolib/shortcode.go | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git 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: