diff --git a/experimental/libbox/command_log.go b/experimental/libbox/command_log.go index 851f0ed3..b70e9884 100644 --- a/experimental/libbox/command_log.go +++ b/experimental/libbox/command_log.go @@ -63,7 +63,7 @@ func (s *CommandServer) handleLogConn(conn net.Conn) error { for { select { case <-ctx.Done(): - return nil + return ctx.Err() case message := <-subscription: err = writeLog(conn, []byte(message)) if err != nil { diff --git a/experimental/libbox/command_server.go b/experimental/libbox/command_server.go index 4ca1429c..d5391cbd 100644 --- a/experimental/libbox/command_server.go +++ b/experimental/libbox/command_server.go @@ -9,6 +9,7 @@ import ( "github.com/sagernet/sing-box/log" "github.com/sagernet/sing/common" + "github.com/sagernet/sing/common/debug" E "github.com/sagernet/sing/common/exceptions" "github.com/sagernet/sing/common/observable" "github.com/sagernet/sing/common/x/list" @@ -71,7 +72,9 @@ func (s *CommandServer) loopConnection(listener net.Listener) { go func() { hErr := s.handleConnection(conn) if hErr != nil && !E.IsClosed(err) { - log.Warn("log-server: process connection: ", hErr) + if debug.Enabled { + log.Warn("log-server: process connection: ", hErr) + } } }() } diff --git a/experimental/libbox/command_status.go b/experimental/libbox/command_status.go index ac088a68..28fe5c61 100644 --- a/experimental/libbox/command_status.go +++ b/experimental/libbox/command_status.go @@ -42,7 +42,7 @@ func (s *CommandServer) handleStatusConn(conn net.Conn) error { } select { case <-ctx.Done(): - return nil + return ctx.Err() case <-ticker.C: } }