summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--caddy.go21
1 files changed, 12 insertions, 9 deletions
diff --git a/caddy.go b/caddy.go
index a7e99c1..bee4274 100644
--- a/caddy.go
+++ b/caddy.go
@@ -493,17 +493,20 @@ func finishSettingUp(ctx Context, cfg *Config) error {
}
if cfg.Admin.Config.LoadInterval > 0 {
go func() {
- select {
- // if LoadInterval is positive, will wait for the interval and then run with new config
- case <-time.After(time.Duration(cfg.Admin.Config.LoadInterval)):
- loadedConfig, err := val.(ConfigLoader).LoadConfig(ctx)
- if err != nil {
- Log().Error("loading dynamic config failed", zap.Error(err))
+ for {
+ select {
+ // if LoadInterval is positive, will wait for the interval and then run with new config
+ case <-time.After(time.Duration(cfg.Admin.Config.LoadInterval)):
+ loadedConfig, err := val.(ConfigLoader).LoadConfig(ctx)
+ if err != nil {
+ Log().Error("loading dynamic config failed", zap.Error(err))
+ return
+ }
+ runLoadedConfig(loadedConfig)
+ case <-ctx.Done():
+ Log().Info("stopping config load interval")
return
}
- runLoadedConfig(loadedConfig)
- case <-ctx.Done():
- return
}
}()
} else {