pkg/wait: change list's lock to RWMutex

Change list's lock from Mutex to RWMutex, which allows concurrent
access for list.IsRegistered function.
release-3.3
lorneli 2017-08-27 18:03:31 +08:00
parent c9f677c0ea
commit 54fcdb4b5c
1 changed files with 3 additions and 3 deletions

View File

@ -34,7 +34,7 @@ type Wait interface {
}
type list struct {
l sync.Mutex
l sync.RWMutex
m map[uint64]chan interface{}
}
@ -68,8 +68,8 @@ func (w *list) Trigger(id uint64, x interface{}) {
}
func (w *list) IsRegistered(id uint64) bool {
w.l.Lock()
defer w.l.Unlock()
w.l.RLock()
defer w.l.RUnlock()
_, ok := w.m[id]
return ok
}