mirror of
https://github.com/openziti/ziti.git
synced 2026-10-12 23:32:02 +00:00
Merge pull request openziti/fabric#225 from openziti/router.do.not.sleep.forever
instead of sleeping in a for loop, watch for shutdown done
This commit is contained in:
+8
-3
@@ -67,6 +67,7 @@ type Router struct {
|
||||
xgressListeners []xgress.Listener
|
||||
metricsRegistry metrics.UsageRegistry
|
||||
shutdownC chan struct{}
|
||||
shutdownDoneC chan struct{}
|
||||
isShutdown concurrenz.AtomicBoolean
|
||||
eventDispatcher event.Dispatcher
|
||||
metricsReporter metrics.Handler
|
||||
@@ -107,6 +108,7 @@ func Create(config *Config, versionProvider common.VersionProvider) *Router {
|
||||
forwarder: fwd,
|
||||
metricsRegistry: metricsRegistry,
|
||||
shutdownC: closeNotify,
|
||||
shutdownDoneC: make(chan struct{}),
|
||||
eventDispatcher: eventDispatcher,
|
||||
versionProvider: versionProvider,
|
||||
}
|
||||
@@ -151,6 +153,7 @@ func (self *Router) Shutdown() error {
|
||||
}
|
||||
|
||||
close(self.shutdownC)
|
||||
close(self.xctrlDone)
|
||||
|
||||
for _, xlinkListener := range self.xlinkListeners {
|
||||
if err := xlinkListener.Close(); err != nil {
|
||||
@@ -163,6 +166,8 @@ func (self *Router) Shutdown() error {
|
||||
errors = append(errors, err)
|
||||
}
|
||||
}
|
||||
|
||||
close(self.shutdownDoneC)
|
||||
}
|
||||
if len(errors) == 0 {
|
||||
return nil
|
||||
@@ -177,9 +182,9 @@ func (self *Router) Run() error {
|
||||
if err := self.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
for {
|
||||
time.Sleep(1 * time.Hour)
|
||||
}
|
||||
|
||||
<-self.shutdownDoneC
|
||||
return nil
|
||||
}
|
||||
|
||||
func (self *Router) showOptions() {
|
||||
|
||||
Reference in New Issue
Block a user