mirror of
https://github.com/fluencelabs/tendermint
synced 2025-07-31 04:01:55 +00:00
fixes #1; events.go: claim full lock on delete listener
This commit is contained in:
@@ -74,13 +74,15 @@ func (evsw *EventSwitch) RemoveListener(listenerID string) {
|
||||
// Get and remove listener
|
||||
evsw.mtx.RLock()
|
||||
listener := evsw.listeners[listenerID]
|
||||
delete(evsw.listeners, listenerID)
|
||||
evsw.mtx.RUnlock()
|
||||
|
||||
if listener == nil {
|
||||
return
|
||||
}
|
||||
|
||||
evsw.mtx.Lock()
|
||||
delete(evsw.listeners, listenerID)
|
||||
evsw.mtx.Unlock()
|
||||
|
||||
// Remove callback for each event.
|
||||
listener.SetRemoved()
|
||||
for _, event := range listener.GetEvents() {
|
||||
|
Reference in New Issue
Block a user