From d2cb001051ee31e333c7f3cc45065f1487ca315d Mon Sep 17 00:00:00 2001 From: DanB Date: Mon, 9 Mar 2015 13:34:17 +0100 Subject: [PATCH] Fix session manager not properly reading events in multi connection mode --- cmd/cgr-engine/cgr-engine.go | 4 ---- sessionmanager/fssessionmanager.go | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index 0bc514f5e..ed81689cd 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -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(" Could not connect to engine: %v", err)) - exitChan <- true - } raterConn = &engine.RPCClientConnector{Client: client} } if cfg.SmFsConfig.Cdrs == cfg.SmFsConfig.Rater { diff --git a/sessionmanager/fssessionmanager.go b/sessionmanager/fssessionmanager.go index 7eddcfdac..7b5248c46 100644 --- a/sessionmanager/fssessionmanager.go +++ b/sessionmanager/fssessionmanager.go @@ -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 } }()