diff options
author | Ilya Mashchenko <ilya@netdata.cloud> | 2024-03-28 15:31:13 +0200 |
---|---|---|
committer | Austin S. Hemmelgarn <ahferroin7@gmail.com> | 2024-04-01 11:25:53 -0400 |
commit | 0f2eed8ed66516d557e138058b53baffd0cdb926 (patch) | |
tree | 25df1cd2a73b8f6e93b625c53fbd31ed2522fba7 | |
parent | a5c4478702fbfa772fbe671ad306ae39b24a8f66 (diff) |
go.d: socket package: don't set client on connect() err (#17283)
(cherry picked from commit 9af7592fdbbf3ab7387c77accd2f9c93a8eee719)
-rw-r--r-- | src/go/collectors/go.d.plugin/pkg/socket/client.go | 17 |
1 files 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. |