Browse Source

better locks

pull/1743/head
Chris Lu 4 years ago
parent
commit
e2c7e3fe6d
  1. 21
      weed/util/config.go

21
weed/util/config.go

@ -52,6 +52,10 @@ type ViperProxy struct {
sync.Mutex
}
var (
vp = &ViperProxy{}
)
func (vp *ViperProxy) SetDefault(key string, value interface{}) {
vp.Lock()
defer vp.Unlock()
@ -83,10 +87,15 @@ func (vp *ViperProxy) GetStringSlice(key string) []string {
}
func GetViper() *ViperProxy {
v := &ViperProxy{}
v.Viper = viper.GetViper()
v.AutomaticEnv()
v.SetEnvPrefix("weed")
v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
return v
vp.Lock()
defer vp.Unlock()
if vp.Viper == nil {
vp.Viper = viper.GetViper()
vp.AutomaticEnv()
vp.SetEnvPrefix("weed")
vp.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
}
return vp
}
Loading…
Cancel
Save