Fix map concurrent read/write

(cherry picked from commit 72db28d5ea)
Signed-off-by: niusmallnan <niusmallnan@gmail.com>
This commit is contained in:
Darren Shepherd 2020-06-08 13:10:07 -07:00 committed by niusmallnan
parent dc9f969673
commit 5880c657c3

View File

@ -126,8 +126,13 @@ func (s *WatchSession) watch(conn *websocket.Conn, resp chan types.APIEvent) err
if sub.Stop {
s.stop(sub.ResourceType, resp)
} else if _, ok := s.watchers[sub.ResourceType]; !ok {
s.add(sub.ResourceType, sub.ResourceVersion, resp)
} else {
s.Lock()
_, ok := s.watchers[sub.ResourceType]
s.Unlock()
if !ok {
s.add(sub.ResourceType, sub.ResourceVersion, resp)
}
}
}
}