diff options
Diffstat (limited to 'plugin')
-rw-r--r-- | plugin/ready/list.go | 8 | ||||
-rw-r--r-- | plugin/ready/setup.go | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/plugin/ready/list.go b/plugin/ready/list.go index e7d2584d8..c24628730 100644 --- a/plugin/ready/list.go +++ b/plugin/ready/list.go @@ -13,6 +13,14 @@ type list struct { names []string } +// Reset resets l +func (l *list) Reset() { + l.Lock() + defer l.Unlock() + l.rs = nil + l.names = nil +} + // Append adds a new readiness to l. func (l *list) Append(r Readiness, name string) { l.Lock() diff --git a/plugin/ready/setup.go b/plugin/ready/setup.go index 80f09d516..e5657f62f 100644 --- a/plugin/ready/setup.go +++ b/plugin/ready/setup.go @@ -25,6 +25,7 @@ func setup(c *caddy.Controller) error { c.OnRestartFailed(func() error { return uniqAddr.ForEach() }) c.OnStartup(func() error { + plugins.Reset() for _, p := range dnsserver.GetConfig(c).Handlers() { if r, ok := p.(Readiness); ok { plugins.Append(r, p.Name()) |