mirror of
https://github.com/RoganDawes/P4wnP1_aloa.git
synced 2025-03-17 21:31:56 +01:00
Fix: Event register guarantees registration before returning
This commit is contained in:
parent
2f08ed92f5
commit
484a948668
@ -39,7 +39,6 @@ func (evm *EventManager) Start() {
|
||||
log.Println("Event Manager: Starting event dispatcher")
|
||||
go evm.register_unregister()
|
||||
go evm.dispatch()
|
||||
|
||||
}
|
||||
|
||||
func (evm *EventManager) Stop() {
|
||||
@ -71,10 +70,11 @@ func (em *EventManager) RegisterReceiver(filterEventType int64) *EventReceiver {
|
||||
}
|
||||
|
||||
|
||||
go func() {
|
||||
em.registerReceiver <- er
|
||||
er.isRegistered = true //asynchronous registering, as soon as possible
|
||||
|
||||
em.registerReceiver <- er
|
||||
er.isRegistered = true
|
||||
|
||||
go func() {
|
||||
<- er.Ctx.Done() //continue watching and assure unregister as soon as possible if canceled
|
||||
em.UnregisterReceiver(er)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user