mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
lock the mutation of the create boolean for safety
This commit is contained in:
parent
8f0d626228
commit
dca8c07247
@ -64,12 +64,15 @@ type lazyMetric struct {
|
||||
isDeprecated bool
|
||||
isHidden bool
|
||||
isCreated bool
|
||||
createLock sync.RWMutex
|
||||
markDeprecationOnce sync.Once
|
||||
createOnce sync.Once
|
||||
self kubeCollector
|
||||
}
|
||||
|
||||
func (r *lazyMetric) IsCreated() bool {
|
||||
r.createLock.RLock()
|
||||
defer r.createLock.RUnlock()
|
||||
return r.isCreated
|
||||
}
|
||||
|
||||
@ -125,6 +128,8 @@ func (r *lazyMetric) Create(version *semver.Version) bool {
|
||||
return false
|
||||
}
|
||||
r.createOnce.Do(func() {
|
||||
r.createLock.Lock()
|
||||
defer r.createLock.Unlock()
|
||||
r.isCreated = true
|
||||
if r.IsDeprecated() {
|
||||
r.self.initializeDeprecatedMetric()
|
||||
|
Loading…
Reference in New Issue
Block a user