From 712fe39a620d27fcd587ce442761cc80f5a87234 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Fri, 7 Aug 2020 23:44:43 +0100 Subject: [PATCH] initChan is never evaluated because watchRegistry is a blocking call --- router/registry/registry.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/router/registry/registry.go b/router/registry/registry.go index 5b27a45b..70aee7d9 100644 --- a/router/registry/registry.go +++ b/router/registry/registry.go @@ -272,6 +272,8 @@ func (r *rtr) watchRegistry(w registry.Watcher) error { select { case <-exit: return + case <-r.initChan: + return case <-r.exit: return } @@ -578,14 +580,6 @@ func (r *rtr) start() error { w.Stop() } return - case <-r.initChan: - // the registry could have changed during initialization - // so if there was a watcher setup, stop it and create a - // new one - if w != nil { - w.Stop() - w = nil - } default: if w == nil { w, err = r.options.Registry.Watch(registry.WatchDomain(registry.WildcardDomain))