From fe4a17dce274ace82ac0f007180b8b8656a17a44 Mon Sep 17 00:00:00 2001 From: adman Date: Wed, 8 Apr 2026 00:31:05 +0200 Subject: [PATCH] Shutdownserver error --- server/server.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/server.go b/server/server.go index b053cbb..1857ec6 100644 --- a/server/server.go +++ b/server/server.go @@ -58,12 +58,15 @@ func StartServerWithFactory(listenAddr string, factory Factory) (err error) { } } +var ShutDownServerErr = errors.New("server shutting down") + func StartServerWithOnConn(listenAddr string, onConn func(c *proto.Conn) (err error)) (err error) { l, err := net.Listen("tcp", listenAddr) if err != nil { return } - for { + running := true + for running { var cNet net.Conn cNet, err = l.Accept() if err != nil { @@ -83,6 +86,11 @@ func StartServerWithOnConn(listenAddr string, onConn func(c *proto.Conn) (err er slog.Error("Error while kicking client", "error", connErr, "client", c.Conn.RemoteAddr()) } } + if errors.Is(connErr, ShutDownServerErr) { + running = false + } }() } + err = ShutDownServerErr + return }