summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Mashchenko <ilya@netdata.cloud>2024-03-28 15:31:13 +0200
committerAustin S. Hemmelgarn <ahferroin7@gmail.com>2024-04-01 11:25:53 -0400
commit0f2eed8ed66516d557e138058b53baffd0cdb926 (patch)
tree25df1cd2a73b8f6e93b625c53fbd31ed2522fba7
parenta5c4478702fbfa772fbe671ad306ae39b24a8f66 (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.go17
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.