diff --git a/engine/cdrs.go b/engine/cdrs.go index 55145e549..c92df610d 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -451,7 +451,10 @@ func (self *CdrServer) replicateCdr(cdr *CDR) error { } body = jsn } - errChan := make(chan error) + var errChan chan error + if rplCfg.Synchronous { + errChan = make(chan error) + } go func(body interface{}, rplCfg *config.CdrReplicationCfg, content string, errChan chan error) { fallbackPath := path.Join( self.cgrCfg.HttpFailedDir, @@ -462,10 +465,13 @@ func (self *CdrServer) replicateCdr(cdr *CDR) error { if err != nil { utils.Logger.Err(fmt.Sprintf( " Replicating CDR: %+v, got error: %s", cdr, err.Error())) - errChan <- err + if rplCfg.Synchronous { + errChan <- err + } + } + if rplCfg.Synchronous { + errChan <- nil } - errChan <- nil - }(body, rplCfg, content, errChan) if rplCfg.Synchronous { // Synchronize here <-errChan