Actually close connection everytime through the loop.

Also, only use the client when err != nil (c could be non-nil when err == nil)
This commit is contained in:
Bill Thiede 2022-11-28 14:11:44 -08:00
parent 9c3a0b21cc
commit b4b5d5cc95

View File

@ -260,18 +260,17 @@ func main() {
c, err := ssh.Dial("tcp", host, config) c, err := ssh.Dial("tcp", host, config)
if err != nil { if err != nil {
glog.Errorf("Error dialing %q: %v", host, err) glog.Errorf("Error dialing %q: %v", host, err)
} } else {
if c != nil {
stats, err := fetchSnapshotStats(host, c) stats, err := fetchSnapshotStats(host, c)
if err != nil { if err != nil {
glog.Errorf("Failed to update metrics: %v", err) glog.Errorf("Failed to update metrics: %v", err)
c.Close() } else {
c = nil hss.Lock()
hss.host2Stats[host] = stats
hss.Unlock()
updateMetrics(host, stats)
} }
hss.Lock() c.Close()
hss.host2Stats[host] = stats
hss.Unlock()
updateMetrics(host, stats)
} }
time.Sleep(*refreshInterval) time.Sleep(*refreshInterval)
} }