diff --git a/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go b/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go index 906978c43c8..4bc8d323915 100644 --- a/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go +++ b/staging/src/k8s.io/apiserver/pkg/storage/cacher/cacher.go @@ -1245,7 +1245,7 @@ type ready struct { } func newReady() *ready { - return &ready{c: sync.NewCond(&sync.Mutex{})} + return &ready{c: sync.NewCond(&sync.RWMutex{})} } func (r *ready) wait() { @@ -1259,8 +1259,9 @@ func (r *ready) wait() { // TODO: Make check() function more sophisticated, in particular // allow it to behave as "waitWithTimeout". func (r *ready) check() bool { - r.c.L.Lock() - defer r.c.L.Unlock() + rwMutex := r.c.L.(*sync.RWMutex) + rwMutex.RLock() + defer rwMutex.RUnlock() return r.ok }