diff --git a/integration/helpers.go b/integration/helpers.go index f23d388d94996..9353091e68b90 100644 --- a/integration/helpers.go +++ b/integration/helpers.go @@ -311,6 +311,7 @@ func (i *TeleInstance) Start() (err error) { }() timeoutTicker := time.NewTicker(time.Second * 5) + defer timeoutTicker.Stop() select { case <-allReady: diff --git a/lib/srv/sshserver.go b/lib/srv/sshserver.go index 35b1133f28032..5ce417cb23187 100644 --- a/lib/srv/sshserver.go +++ b/lib/srv/sshserver.go @@ -286,13 +286,16 @@ func (s *Server) registerServer() error { // heartbeatPresence periodically calls into the auth server to let everyone // know we're up & alive func (s *Server) heartbeatPresence() { + sleepTime := defaults.ServerHeartbeatTTL/2 + utils.RandomDuration(defaults.ServerHeartbeatTTL/10) + ticker := time.NewTicker(sleepTime) + defer ticker.Stop() + for { if err := s.registerServer(); err != nil { log.Warningf("failed to announce %#v presence: %v", s, err) } - sleepTime := defaults.ServerHeartbeatTTL/2 + utils.RandomDuration(defaults.ServerHeartbeatTTL/10) select { - case <-time.Tick(sleepTime): + case <-ticker.C: continue case <-s.closer.C: {