From 1321782785e4d51fef756cb0c4071bf757737e63 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Sat, 19 Jan 2019 10:20:16 +0000 Subject: [PATCH] in case of reload return nil --- selector/default.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/selector/default.go b/selector/default.go index 1d4424a8..452fa17c 100644 --- a/selector/default.go +++ b/selector/default.go @@ -326,12 +326,16 @@ func (c *registrySelector) run(name string) { func (c *registrySelector) watch(w registry.Watcher) error { defer w.Stop() + // reload chan + reload := make(chan bool, 1) + // manage this loop go func() { // wait for exit or reload signal select { case <-c.exit: case <-c.reload: + reload <- true } // stop the watcher @@ -341,7 +345,12 @@ func (c *registrySelector) watch(w registry.Watcher) error { for { res, err := w.Next() if err != nil { - return err + select { + case <-reload: + return nil + default: + return err + } } c.update(res) }