From 4fbd3f29593668e50628de39f67113cec8418912 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 20 Apr 2024 15:59:56 +0800 Subject: [PATCH] 1 --- server/imserver/player/playermgr.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/imserver/player/playermgr.go b/server/imserver/player/playermgr.go index 6e870b42..d39fc87d 100644 --- a/server/imserver/player/playermgr.go +++ b/server/imserver/player/playermgr.go @@ -82,6 +82,7 @@ func (this *playerMgr) UnInit() { func (this *playerMgr) queryStatusHandle(c *gin.Context) { accountIds := strings.Split(c.DefaultQuery("accountIds", ""), ",") rspObj := new(common.UserQueryStatusRsp) + chDone := make(chan bool) f5.GetApp().RegisterMainThreadCb( func () { for _, accountId := range(accountIds) { @@ -92,10 +93,18 @@ func (this *playerMgr) queryStatusHandle(c *gin.Context) { u.Battling = q5.BoolToInt32(hum.IsBattling()) u.Online = q5.BoolToInt32(hum.IsOnline()) q5.AppendSlice(&rspObj.Users, u) - c.JSON(http.StatusOK, rspObj) + chDone <- true } } }) + for { + select { + case <-chDone: + close(chDone) + c.JSON(http.StatusOK, rspObj) + return + } + } } func (this *playerMgr) CMLogin(hdr *f5.MsgHdr, msg *cs.CMLogin) {