diff options
author | 2018-10-31 18:20:43 +0100 | |
---|---|---|
committer | 2018-10-31 10:20:43 -0700 | |
commit | e332c8d8cbef30f07b74e07dc5efd18c37b7da2a (patch) | |
tree | 7483a3e40e285b63aa72ef46de69261debdf295b /plugin | |
parent | d42e0d456254a1f8143188efc45c3d272ab6f22d (diff) | |
download | coredns-e332c8d8cbef30f07b74e07dc5efd18c37b7da2a.tar.gz coredns-e332c8d8cbef30f07b74e07dc5efd18c37b7da2a.tar.zst coredns-e332c8d8cbef30f07b74e07dc5efd18c37b7da2a.zip |
Fix error handling when query fails (#2255)
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/loop/loop.go | 6 | ||||
-rw-r--r-- | plugin/loop/setup.go | 1 |
2 files changed, 7 insertions, 0 deletions
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 } |