From 825665258d2c03ec63d296386a8fd97a545edabb Mon Sep 17 00:00:00 2001
From: scott <scottwangsxll@gmail.com>
Date: Sat, 14 Mar 2020 21:54:01 +0800
Subject: [PATCH] Add double check for RWMutex

---
 remoting/kubernetes/listener.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/remoting/kubernetes/listener.go b/remoting/kubernetes/listener.go
index c87559e7f..da6d83515 100644
--- a/remoting/kubernetes/listener.go
+++ b/remoting/kubernetes/listener.go
@@ -166,6 +166,12 @@ func (l *EventListener) ListenServiceEvent(key string, listener remoting.DataLis
 	}
 
 	l.keyMapLock.Lock()
+	// double check
+	if _, ok := l.keyMap[key]; ok {
+		// another goroutine already set it
+		l.keyMapLock.Unlock()
+		return
+	}
 	l.keyMap[key] = struct{}{}
 	l.keyMapLock.Unlock()
 
-- 
GitLab