From 15a491816a26afdcda9f241de20740ccc8e27d83 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 5 Sep 2023 10:57:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20server=20=E5=8C=85?= =?UTF-8?q?=20RegMessageExecBeforeEvent=20=E5=87=BD=E6=95=B0=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=86=85=E5=AD=98=E6=B3=84=E9=9C=B2=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/conn.go | 7 +++---- server/server.go | 5 +---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/server/conn.go b/server/conn.go index 0dda0ab..3437d83 100644 --- a/server/conn.go +++ b/server/conn.go @@ -4,11 +4,9 @@ import ( "context" "github.com/gorilla/websocket" "github.com/kercylan98/minotaur/utils/concurrent" - "github.com/kercylan98/minotaur/utils/log" "github.com/panjf2000/gnet" "github.com/xtaci/kcp-go/v5" "net" - "runtime/debug" "strings" "sync" ) @@ -278,8 +276,9 @@ func (slf *Conn) writeLoop(wait *sync.WaitGroup) { defer func() { if err := recover(); err != nil { slf.Close() - log.Error("WriteLoop", log.Any("Error", err)) - debug.PrintStack() + // TODO: 以下代码是否需要? + // log.Error("WriteLoop", log.Any("Error", err)) + // debug.PrintStack() } }() wait.Done() diff --git a/server/server.go b/server/server.go index 0405a72..754f085 100644 --- a/server/server.go +++ b/server/server.go @@ -551,13 +551,10 @@ func (slf *Server) ShuntChannelFreed(channelGuid int64) { // pushMessage 向服务器中写入特定类型的消息,需严格遵守消息属性要求 func (slf *Server) pushMessage(message *Message) { - if slf.messagePool.IsClose() { + if slf.messagePool.IsClose() || slf.isShutdown.Load() || !slf.OnMessageExecBeforeEvent(message) { slf.messagePool.Release(message) return } - if slf.isShutdown.Load() || !slf.OnMessageExecBeforeEvent(message) { - return - } if slf.shuntChannels != nil && message.t == MessageTypePacket { conn := message.attrs[0].(*Conn) channelGuid, allowToCreate := slf.shuntMatcher(conn)