Skip to content

Commit

Permalink
Merge pull request #4653 from jefft0/fix/use-goroutine-to-call-Handle…
Browse files Browse the repository at this point in the history
…AppMessage

fix: In subscribeToMessages, use a goroutine to call HandleAppMessage
  • Loading branch information
jefft0 committed Apr 13, 2023
2 parents 0f46cfb + 9626476 commit 9628a71
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions go/pkg/bertymessenger/subscriptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,13 +235,13 @@ func (svc *service) subscribeToMessages(ctx, tyberCtx context.Context, gpkb []by
eventHandler = eventHandler.WithContext(tyber.ContextWithConstantTraceID(svc.eventHandler.Ctx(), "msgrcvd-"+cid.String()))
}

svc.handlerMutex.Lock()
if err := eventHandler.HandleAppMessage(messengerutil.B64EncodeBytes(gpkb), gme, &am); err != nil {
_ = tyber.LogFatalError(eventHandler.Ctx(), eventHandler.Logger(), "Failed to handle AppMessage", err)
} else {
eventHandler.Logger().Debug("AppMessage handler succeeded", tyber.FormatStepLogFields(eventHandler.Ctx(), []tyber.Detail{}, tyber.EndTrace)...)
}
svc.handlerMutex.Unlock()
go func() {
if err := eventHandler.HandleAppMessage(messengerutil.B64EncodeBytes(gpkb), gme, &am); err != nil {
_ = tyber.LogFatalError(eventHandler.Ctx(), eventHandler.Logger(), "Failed to handle AppMessage", err)
} else {
eventHandler.Logger().Debug("AppMessage handler succeeded", tyber.FormatStepLogFields(eventHandler.Ctx(), []tyber.Detail{}, tyber.EndTrace)...)
}
}()
}
}()
return nil
Expand Down

0 comments on commit 9628a71

Please sign in to comment.