From 1bc32e2026da59283b9302ec753699919a994cce Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 19 Sep 2023 15:45:12 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=20server=20=E5=9C=A8?= =?UTF-8?q?=20WebSocket=20=E6=A8=A1=E5=BC=8F=E4=B8=8B=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=97=A0=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.go | 7 +------ utils/concurrent/pool.go | 6 ++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/server/server.go b/server/server.go index d9e0362..eab2000 100644 --- a/server/server.go +++ b/server/server.go @@ -13,7 +13,6 @@ import ( "github.com/kercylan98/minotaur/utils/str" "github.com/kercylan98/minotaur/utils/super" "github.com/kercylan98/minotaur/utils/timer" - "github.com/kercylan98/minotaur/utils/times" "github.com/panjf2000/ants/v2" "github.com/panjf2000/gnet" "github.com/panjf2000/gnet/pkg/logging" @@ -319,13 +318,9 @@ func (slf *Server) Run(addr string) error { conn.Close(e) } }() - var deadline = times.Zero - if slf.websocketReadDeadline > 0 { - deadline = time.Now().Add(slf.websocketReadDeadline) - } for !conn.IsClosed() { if slf.websocketReadDeadline > 0 { - if err := ws.SetReadDeadline(deadline); err != nil { + if err := ws.SetReadDeadline(time.Now().Add(slf.websocketReadDeadline)); err != nil { panic(err) } } diff --git a/utils/concurrent/pool.go b/utils/concurrent/pool.go index d50f8d3..e7d3e9a 100644 --- a/utils/concurrent/pool.go +++ b/utils/concurrent/pool.go @@ -71,7 +71,13 @@ func (slf *Pool[T]) IsClose() bool { } func (slf *Pool[T]) Release(data T) { + slf.mutex.Lock() + if slf.releaser == nil { + slf.mutex.Unlock() + return + } slf.releaser(data) + slf.mutex.Unlock() slf.put(data) }