()
| 27 | } |
| 28 | |
| 29 | func (w *Watcher) scheduleConfigReload() { |
| 30 | w.configReloadMu.Lock() |
| 31 | defer w.configReloadMu.Unlock() |
| 32 | if w.configReloadTimer != nil { |
| 33 | w.configReloadTimer.Stop() |
| 34 | } |
| 35 | w.configReloadTimer = time.AfterFunc(configReloadDebounce, func() { |
| 36 | w.configReloadMu.Lock() |
| 37 | w.configReloadTimer = nil |
| 38 | w.configReloadMu.Unlock() |
| 39 | w.reloadConfigIfChanged() |
| 40 | }) |
| 41 | } |
| 42 | |
| 43 | // ReloadConfigIfChanged runs the same config reload path used by filesystem events. |
| 44 | func (w *Watcher) ReloadConfigIfChanged() { |