diff --git a/config/config.go b/config/config.go index ee74cbfb1..3f7e5ff55 100644 --- a/config/config.go +++ b/config/config.go @@ -78,6 +78,8 @@ func NewDefaultCGRConfig() (*CGRConfig, error) { cfg.ConfigReloads[utils.SURETAX] <- struct{}{} // Unlock the channel cfg.ConfigReloads[utils.DIAMETER_AGENT] = make(chan struct{}, 1) cfg.ConfigReloads[utils.DIAMETER_AGENT] <- struct{}{} // Unlock the channel + cfg.ConfigReloads[utils.SMAsterisk] = make(chan struct{}, 1) + cfg.ConfigReloads[utils.SMAsterisk] <- struct{}{} // Unlock the channel cgrJsonCfg, err := NewCgrJsonCfgFromReader(strings.NewReader(CGRATES_CFG_JSON)) if err != nil { return nil, err @@ -1098,5 +1100,7 @@ func (self *CGRConfig) ResourceLimiterCfg() *ResourceLimiterConfig { // ToDo: fix locking here func (self *CGRConfig) SMAsteriskCfg() *SMAsteriskCfg { + cfgChan := <-self.ConfigReloads[utils.SMAsterisk] // Lock config for read or reloads + defer func() { self.ConfigReloads[utils.SMAsterisk] <- cfgChan }() return self.smAsteriskCfg } diff --git a/utils/consts.go b/utils/consts.go index c86d7351d..29618b0f4 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -330,4 +330,5 @@ const ( EVT_ACCOUNT_BALANCE_MODIFIED = "ACCOUNT_BALANCE_MODIFIED" EVT_ACTION_TRIGGER_FIRED = "ACTION_TRIGGER_FIRED" EVT_ACTION_TIMING_FIRED = "ACTION_TRIGGER_FIRED" + SMAsterisk = "sm_asterisk" )