Merge pull request #76795 from tedyu/cacher-read

Use read lock in ready#check
This commit is contained in:
Kubernetes Prow Robot 2019-04-26 05:48:29 -07:00 committed by GitHub
commit 24c964d5c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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
}