Use read lock in ready#check

This commit is contained in:
Ted Yu 2019-04-18 14:00:42 -07:00 committed by Ted Yu
parent cee320a809
commit 04a7b50a02

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
}