From 49f4f242a8fd1ff5b4d5e73dda3948005a529f63 Mon Sep 17 00:00:00 2001 From: zhangke Date: Mon, 16 May 2016 15:26:30 +0800 Subject: [PATCH] Update lookup_cache.go MatchingCache struct hold a RWLock, so Get operation of Cache should use RLock properly, nor WLock --- pkg/controller/lookup_cache.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/controller/lookup_cache.go b/pkg/controller/lookup_cache.go index 5d82908be01..3c43e1e3008 100644 --- a/pkg/controller/lookup_cache.go +++ b/pkg/controller/lookup_cache.go @@ -72,8 +72,8 @@ func (c *MatchingCache) Add(labelObj objectWithMeta, selectorObj objectWithMeta) // we need check in the external request to ensure the cache data is not dirty. func (c *MatchingCache) GetMatchingObject(labelObj objectWithMeta) (controller interface{}, exists bool) { key := keyFunc(labelObj) - c.mutex.Lock() - defer c.mutex.Unlock() + c.mutex.RLock() + defer c.mutex.RUnlock() return c.cache.Get(key) }