[VOL-4010] openonuAdapterGo - investigate and resolve data race conditions
Change-Id: I8e957d8bd59b91db27ee4f303a5a222a8f83e8c4
diff --git a/internal/pkg/onuadaptercore/omci_cc.go b/internal/pkg/onuadaptercore/omci_cc.go
index b37230b..7a85e4a 100644
--- a/internal/pkg/onuadaptercore/omci_cc.go
+++ b/internal/pkg/onuadaptercore/omci_cc.go
@@ -119,13 +119,14 @@
uploadSequNo uint16
uploadNoOfCmds uint16
- mutexTxQueue sync.Mutex
- txQueue *list.List
- mutexRxSchedMap sync.Mutex
- rxSchedulerMap map[uint16]callbackPairEntry
- mutexMonReq sync.RWMutex
- monitoredRequests map[uint16]omciTransferStructure
- pLastTxMeInstance *me.ManagedEntity
+ mutexTxQueue sync.Mutex
+ txQueue *list.List
+ mutexRxSchedMap sync.Mutex
+ rxSchedulerMap map[uint16]callbackPairEntry
+ mutexMonReq sync.RWMutex
+ monitoredRequests map[uint16]omciTransferStructure
+ mutexPLastTxMeInstance sync.RWMutex
+ pLastTxMeInstance *me.ManagedEntity
}
var responsesWithMibDataSync = []omci.MessageType{
@@ -824,8 +825,7 @@
"Err": err, "device-id": oo.deviceID})
return err
}
- oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo = 0
- oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadNoOfCmds = 0
+ oo.pBaseDeviceHandler.pAlarmMgr.ResetAlarmUploadCounters()
omciRxCallbackPair := callbackPair{
cbKey: tid,
@@ -836,7 +836,7 @@
}
func (oo *omciCC) sendGetAllAlarmNext(ctx context.Context, timeout int, highPrio bool) error {
- alarmUploadSeqNo := oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo
+ alarmUploadSeqNo := oo.pBaseDeviceHandler.pAlarmMgr.GetAlarmUploadSeqNo()
logger.Debugw(ctx, "send sendGetAllAlarmNext-msg to:", log.Fields{"device-id": oo.deviceID,
"alarmUploadSeqNo": alarmUploadSeqNo})
request := &omci.GetAllAlarmsNextRequest{
@@ -852,7 +852,7 @@
"Err": err, "device-id": oo.deviceID})
return err
}
- oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo++
+ oo.pBaseDeviceHandler.pAlarmMgr.IncrementAlarmUploadSeqNo()
omciRxCallbackPair := callbackPair{
cbKey: tid,