[VOL-2108] Updated with fix for concurrent access of map in deviceHandler
Updated with review comments
Updated with sync.map
Updated with review comments
Change-Id: Iabe2557cf8e5e4a7863d86467a13bc49e24c628d
diff --git a/adaptercore/openolt_eventmgr.go b/adaptercore/openolt_eventmgr.go
index 8173ad1..4c74361 100644
--- a/adaptercore/openolt_eventmgr.go
+++ b/adaptercore/openolt_eventmgr.go
@@ -19,6 +19,7 @@
import (
"fmt"
+
"github.com/opencord/voltha-lib-go/v2/pkg/adapters/adapterif"
"github.com/opencord/voltha-lib-go/v2/pkg/log"
oop "github.com/opencord/voltha-protos/v2/go/openolt"
@@ -186,8 +187,9 @@
context := make(map[string]string)
/* Populating event context */
serialNumber = ""
- if onu, ok := em.handler.onus[em.handler.formOnuKey(dgi.IntfId, dgi.OnuId)]; ok {
- serialNumber = onu.serialNumber
+ onu := em.handler.formOnuKey(dgi.IntfId, dgi.OnuId)
+ if onu, ok := em.handler.onus.Load(onu); ok {
+ serialNumber = onu.(*OnuDevice).serialNumber
}
context["serial-number"] = serialNumber
context["intf-id"] = string(dgi.IntfId)