From 0b1e8c40e0a82ad9448b467c6ab25f8e11f0a8f7 Mon Sep 17 00:00:00 2001 From: Moses Narrow <36607567+0pcom@users.noreply.github.com> Date: Wed, 18 Mar 2026 09:42:36 -0500 Subject: [PATCH] Fix dmsgctrl shutdown logging spam Use errors.Is(err, dmsg.ErrEntityClosed) to cleanly exit the accept loop on shutdown instead of logging warnings for every pending accept. --- pkg/dmsgctrl/serve_listener.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/dmsgctrl/serve_listener.go b/pkg/dmsgctrl/serve_listener.go index 3f603465..c1659e42 100644 --- a/pkg/dmsgctrl/serve_listener.go +++ b/pkg/dmsgctrl/serve_listener.go @@ -2,9 +2,11 @@ package dmsgctrl import ( + "errors" "net" "strings" + "github.com/skycoin/dmsg/pkg/dmsg" "github.com/skycoin/skywire/pkg/skywire-utilities/pkg/logging" ) @@ -21,7 +23,7 @@ func ServeListener(l net.Listener, chanLen int) <-chan *Control { for { conn, err := l.Accept() if err != nil { - if strings.Contains(err.Error(), "use of closed") { + if errors.Is(err, dmsg.ErrEntityClosed) || strings.Contains(err.Error(), "use of closed") { return } log.Warnf("Failed to accept dmsgctrl conn, continuing: %v", err)