guard dispatchers, ignore events sent after Close()
diff --git a/events/event_manager.go b/events/event_manager.go index 7d7c69f..2e5abd0 100644 --- a/events/event_manager.go +++ b/events/event_manager.go
@@ -115,6 +115,8 @@ Event: event, Count: count, } + em.Lock() + defer em.Unlock() em.dispatchers[apid.EventDeliveredSelector].Send(ede) } } @@ -160,6 +162,10 @@ func (d *dispatcher) Send(e apid.Event) bool { if d != nil { + defer func() { + err := recover() + log.Debugf("Send %v failed: %v", e, err) + }() d.channel <- e return true }