aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/ready/list.go8
-rw-r--r--plugin/ready/setup.go1
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())