From 0f2eed8ed66516d557e138058b53baffd0cdb926 Mon Sep 17 00:00:00 2001 From: Ilya Mashchenko Date: Thu, 28 Mar 2024 15:31:13 +0200 Subject: go.d: socket package: don't set client on connect() err (#17283) (cherry picked from commit 9af7592fdbbf3ab7387c77accd2f9c93a8eee719) --- src/go/collectors/go.d.plugin/pkg/socket/client.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/go/collectors/go.d.plugin/pkg/socket/client.go b/src/go/collectors/go.d.plugin/pkg/socket/client.go index ea1b57318e..26ae1dfa65 100644 --- a/src/go/collectors/go.d.plugin/pkg/socket/client.go +++ b/src/go/collectors/go.d.plugin/pkg/socket/client.go @@ -31,16 +31,25 @@ type Socket struct { // If the address is a domain name it will also perform the DNS resolution. // Address like :80 will attempt to connect to the localhost. // The config timeout and TLS config will be used. -func (s *Socket) Connect() (err error) { +func (s *Socket) Connect() error { network, address := networkType(s.Address) + var conn net.Conn + var err error + if s.TLSConf == nil { - s.conn, err = net.DialTimeout(network, address, s.ConnectTimeout) + conn, err = net.DialTimeout(network, address, s.ConnectTimeout) } else { var d net.Dialer d.Timeout = s.ConnectTimeout - s.conn, err = tls.DialWithDialer(&d, network, address, s.TLSConf) + conn, err = tls.DialWithDialer(&d, network, address, s.TLSConf) } - return err + if err != nil { + return err + } + + s.conn = conn + + return nil } // Disconnect closes the connection. -- cgit v1.2.3