diff --git a/plugin/loop/loop.go b/plugin/loop/loop.go index 0624d3dd1..45bdc4267 100644 --- a/plugin/loop/loop.go +++ b/plugin/loop/loop.go @@ -77,6 +77,12 @@ func (l *Loop) inc() { l.i++ } +func (l *Loop) reset() { + l.Lock() + defer l.Unlock() + l.i = 0 +} + func (l *Loop) setDisabled() { l.Lock() defer l.Unlock() diff --git a/plugin/loop/setup.go b/plugin/loop/setup.go index 93a8bb13b..ba4681cb4 100644 --- a/plugin/loop/setup.go +++ b/plugin/loop/setup.go @@ -42,6 +42,7 @@ func setup(c *caddy.Controller) error { for time.Now().Before(deadline) { if _, err := l.exchange(addr); err != nil { + l.reset() time.Sleep(1 * time.Second) continue }