X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fxapptweaks%2Frmrwrapper.go;h=09fa6de58fda945bbb71f70c8d535e19e77379e8;hb=3f7becc8a1e15c5b69dfd95d86b9b7308b3e1c5e;hp=ef633bddeb3e6c394086f23f4f586b7becf2bd8a;hpb=5f8ffa07163f52d65092d63f5d173149cd5c46ad;p=ric-plt%2Fsubmgr.git diff --git a/pkg/xapptweaks/rmrwrapper.go b/pkg/xapptweaks/rmrwrapper.go index ef633bd..09fa6de 100644 --- a/pkg/xapptweaks/rmrwrapper.go +++ b/pkg/xapptweaks/rmrwrapper.go @@ -47,14 +47,16 @@ func (tc *RmrWrapper) Unlock() { func (tc *RmrWrapper) Init() { } -func (tc *RmrWrapper) RmrSend(params *RMRParams) (err error) { +func (tc *RmrWrapper) RmrSend(params *RMRParams, to time.Duration) (err error) { if tc.Rmr == nil { err = fmt.Errorf("Failed rmr object nil for %s", params.String()) return } - status := false - i := 1 - for ; i <= 10 && status == false; i++ { + tc.Lock() + status := tc.Rmr.Send(params.RMRParams, false) + tc.Unlock() + i := 0 + for ; i < int(to)*2 && status == false; i++ { tc.Lock() status = tc.Rmr.Send(params.RMRParams, false) tc.Unlock() @@ -64,7 +66,10 @@ func (tc *RmrWrapper) RmrSend(params *RMRParams) (err error) { } if status == false { err = fmt.Errorf("Failed with retries(%d) %s", i, params.String()) - tc.Rmr.Free(params.Mbuf) + if params.Mbuf != nil { + tc.Rmr.Free(params.Mbuf) + params.Mbuf = nil + } } else { tc.CntSentMsg++ }