Fix session manager not properly reading events in multi connection mode

This commit is contained in:
DanB
2015-03-09 13:34:17 +01:00
parent d48f617a02
commit d2cb001051
2 changed files with 3 additions and 7 deletions

View File

@@ -160,10 +160,6 @@ func startSmFreeSWITCH(responder *engine.Responder, loggerDb engine.LogStorage,
}
time.Sleep(time.Duration(i+1) * time.Second)
}
if err != nil {
engine.Logger.Crit(fmt.Sprintf("<SessionManager> Could not connect to engine: %v", err))
exitChan <- true
}
raterConn = &engine.RPCClientConnector{Client: client}
}
if cfg.SmFsConfig.Cdrs == cfg.SmFsConfig.Rater {

View File

@@ -54,14 +54,14 @@ func (sm *FSSessionManager) Connect() error {
connId := utils.GenUUID()
fSock, err := fsock.NewFSock(connCfg.Server, connCfg.Password, connCfg.Reconnects, sm.createHandlers(), eventFilters, engine.Logger.(*syslog.Writer), connId)
if err != nil {
errChan <- err
return err
} else if !fSock.Connected() {
errChan <- errors.New("Could not connect to FreeSWITCH")
return errors.New("Could not connect to FreeSWITCH")
} else {
sm.conns[connId] = fSock
}
go func() { // Start reading in own goroutine, return on error
if err := fsock.FS.ReadEvents(); err != nil {
if err := sm.conns[connId].ReadEvents(); err != nil {
errChan <- err
}
}()