From: Cameron Moore Date: Tue, 17 Jan 2017 18:51:24 +0000 (-0600) Subject: tpl: Fix deadlock in cached partials X-Git-Tag: v0.19~106 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3ac1b9fe33c42f53f90f6868d82450213cf844d7;p=brevno-suite%2Fhugo tpl: Fix deadlock in cached partials Cached partials that contained cached partials would create a deadlock. Fixes #2935 --- diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index 6c8a9957..8f653808 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -1541,7 +1541,10 @@ func (tf *templateFuncster) Get(key, name string, context interface{}) (p templa tf.cachedPartials.Lock() if p, ok = tf.cachedPartials.p[key]; !ok { + tf.cachedPartials.Unlock() p = tf.t.partial(name, context) + + tf.cachedPartials.Lock() tf.cachedPartials.p[key] = p } tf.cachedPartials.Unlock()