summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Mashchenko <ilya@netdata.cloud>2024-03-28 15:31:13 +0200
committerGitHub <noreply@github.com>2024-03-28 15:31:13 +0200
commit9af7592fdbbf3ab7387c77accd2f9c93a8eee719 (patch)
treea79a9d48c89c0e24f33ca8f6566e0d8351895b94
parent20682b52812f67904404535a6250fecf4a53f605 (diff)
go.d: socket package: don't set client on connect() err (#17283)
-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.