From f8a840a14c9ad2ffa0120e9540be0a250409bfd3 Mon Sep 17 00:00:00 2001 From: bep Date: Thu, 12 Mar 2015 18:51:31 +0100 Subject: [PATCH] Add double checking in Deprecated To prevent possible duplicate log statements. --- helpers/general.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/helpers/general.go b/helpers/general.go index 4219186ad..e0fe99b6f 100644 --- a/helpers/general.go +++ b/helpers/general.go @@ -115,15 +115,18 @@ var deprecatedLogs = struct { }{m: make(map[string]bool)} func Deprecated(object, item, alternative string) { + key := object + item + alternative deprecatedLogs.RLock() - logged := deprecatedLogs.m[object+item+alternative] + logged := deprecatedLogs.m[key] deprecatedLogs.RUnlock() if logged { return } deprecatedLogs.Lock() - jww.ERROR.Printf("%s's %s is deprecated and will be removed in Hugo 0.15. Use %s instead.", object, item, alternative) - deprecatedLogs.m[object+item+alternative] = true + if !deprecatedLogs.m[key] { + jww.ERROR.Printf("%s's %s is deprecated and will be removed in Hugo 0.15. Use %s instead.", object, item, alternative) + deprecatedLogs.m[key] = true + } deprecatedLogs.Unlock() }