From 5e69ce099f521aa49fc267c62235c003eae530ff Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 3 Oct 2017 10:53:53 -0500 Subject: Goroutine wranglin (#7556) * goroutine wranglin * synchronize WebConn.WritePump --- app/status.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app/status.go') diff --git a/app/status.go b/app/status.go index edfda561b..3d4837cb0 100644 --- a/app/status.go +++ b/app/status.go @@ -221,7 +221,9 @@ func (a *App) BroadcastStatus(status *model.Status) { event := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_STATUS_CHANGE, "", "", status.UserId, nil) event.Add("status", status.Status) event.Add("user_id", status.UserId) - go a.Publish(event) + a.Go(func() { + a.Publish(event) + }) } func (a *App) SetStatusOffline(userId string, manual bool) { @@ -245,7 +247,9 @@ func (a *App) SetStatusOffline(userId string, manual bool) { event := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_STATUS_CHANGE, "", "", status.UserId, nil) event.Add("status", model.STATUS_OFFLINE) event.Add("user_id", status.UserId) - go a.Publish(event) + a.Go(func() { + a.Publish(event) + }) } func (a *App) SetStatusAwayIfNeeded(userId string, manual bool) { @@ -286,7 +290,9 @@ func (a *App) SetStatusAwayIfNeeded(userId string, manual bool) { event := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_STATUS_CHANGE, "", "", status.UserId, nil) event.Add("status", model.STATUS_AWAY) event.Add("user_id", status.UserId) - go a.Publish(event) + a.Go(func() { + a.Publish(event) + }) } func GetStatusFromCache(userId string) *model.Status { -- cgit v1.2.3-1-g7c22