From 19ac633e1af854ee1eec972e0f1816f81ce60f55 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Tue, 17 Feb 2026 17:29:03 +0200 Subject: [PATCH] stop birpc listeners on engine shutdown make goroutine wait on shdChan and call StopBiRPC to close the listener(s). Connection goroutines still leak (they need to be fixed on birpc library side). --- services/engine.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/engine.go b/services/engine.go index 97ec1d732..bcafff278 100644 --- a/services/engine.go +++ b/services/engine.go @@ -264,6 +264,10 @@ func startBiRPC(smg *SessionService, tS *ThresholdService, server *cores.Server, } }, } + go func() { + <-shdChan.Done() + server.StopBiRPC() + }() if err := server.ServeBiRPC(cfg.ListenCfg().BiJSONListen, cfg.ListenCfg().BiGobListen, onConns, onDiss); err != nil { utils.Logger.Err(fmt.Sprintf("<%s> serve BiRPC error: %s!", utils.SessionS, err)) shdChan.CloseOnce()