From 3109529dbb0a3cd2cb01ef58875fb68ff35358fa Mon Sep 17 00:00:00 2001
From: Eugene Bujak <hmage@hmage.net>
Date: Mon, 8 Oct 2018 17:14:11 +0300
Subject: [PATCH] coredns plugin -- change rlock to lock when loading top stats
 to avoid doing it in parallel

---
 coredns_plugin/querylog_top.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/coredns_plugin/querylog_top.go b/coredns_plugin/querylog_top.go
index 70ec0034..56eea744 100644
--- a/coredns_plugin/querylog_top.go
+++ b/coredns_plugin/querylog_top.go
@@ -209,8 +209,8 @@ func (r *dayTop) addEntry(entry *logEntry, now time.Time) error {
 
 func loadTopFromFiles() error {
 	now := time.Now()
-	runningTop.RLock()
-	defer runningTop.RUnlock()
+	runningTop.Lock() // not rlock because we set it at the end of the function
+	defer runningTop.Unlock()
 	if runningTop.loaded {
 		return nil
 	}