refactor: use new Has fsnotify method for event matching

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
This commit is contained in:
Mark Sagi-Kazar 2022-11-03 17:57:32 +01:00 committed by Márk Sági-Kazár
parent 2e99a57324
commit 4b8d14881e

View file

@ -463,9 +463,8 @@ func (v *Viper) WatchConfig() {
// we only care about the config file with the following cases: // we only care about the config file with the following cases:
// 1 - if the config file was modified or created // 1 - if the config file was modified or created
// 2 - if the real path to the config file changed (eg: k8s ConfigMap replacement) // 2 - if the real path to the config file changed (eg: k8s ConfigMap replacement)
const writeOrCreateMask = fsnotify.Write | fsnotify.Create
if (filepath.Clean(event.Name) == configFile && if (filepath.Clean(event.Name) == configFile &&
event.Op&writeOrCreateMask != 0) || (event.Has(fsnotify.Write) || event.Has(fsnotify.Create))) ||
(currentConfigFile != "" && currentConfigFile != realConfigFile) { (currentConfigFile != "" && currentConfigFile != realConfigFile) {
realConfigFile = currentConfigFile realConfigFile = currentConfigFile
err := v.ReadInConfig() err := v.ReadInConfig()
@ -475,8 +474,7 @@ func (v *Viper) WatchConfig() {
if v.onConfigChange != nil { if v.onConfigChange != nil {
v.onConfigChange(event) v.onConfigChange(event)
} }
} else if filepath.Clean(event.Name) == configFile && } else if filepath.Clean(event.Name) == configFile && event.Has(fsnotify.Remove) {
event.Op&fsnotify.Remove != 0 {
eventsWG.Done() eventsWG.Done()
return return
} }