Scope crash recovery to Linux, drain connection handlers before teardown

This commit is contained in:
Viktor Liu
2026-08-29 13:43:12 +02:00
parent d8236002c7
commit 9672e04ce6
8 changed files with 126 additions and 50 deletions
+2
View File
@@ -62,7 +62,9 @@ func (s *Server) serviceAcceptLoop(ln net.Listener) {
enableTCPKeepAlive(conn, s.log)
metered := newMetricsConn(conn, s.sessionRecorder)
s.retrackConn(conn, metered)
s.handlers.Add(1)
go func(c net.Conn) {
defer s.handlers.Done()
defer s.releaseConnSlot()
defer s.untrackConn(c)
s.handleServiceConnection(c, mgr)