diff --git a/rpcclient/infrastructure.go b/rpcclient/infrastructure.go index 593177cb..29a733ee 100644 --- a/rpcclient/infrastructure.go +++ b/rpcclient/infrastructure.go @@ -716,9 +716,13 @@ out: if scaledDuration > time.Minute { scaledDuration = time.Minute } - log.Infof("Retrying connection to %s in "+ - "%s", c.config.Host, scaledDuration) - time.Sleep(scaledDuration) + log.Infof("Retrying connection to %s in %s", + c.config.Host, scaledDuration) + select { + case <-c.shutdown: + break out + case <-time.After(scaledDuration): + } continue reconnect }