diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2023-11-10 15:33:24 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-10 15:33:24 +0800 |
| commit | e5dc7db172254a4c7bf63bd95bf74a91ffd31bac (patch) | |
| tree | a89bd77aa4ffe23cbf5ad19e0a70b122e51f1dfa | |
| parent | Merge pull request #5110 from wlq1212/automated-cherry-pick-of-#5085-upstream... (diff) | |
| parent | Solving the deployment order dependency of mapper and device (diff) | |
| download | kubeedge-e5dc7db172254a4c7bf63bd95bf74a91ffd31bac.tar.gz | |
Merge pull request #5148 from luomengY/automated-cherry-pick-of-#5036-upstream-release-1.14
Automated cherry pick of #5036: Solving the deployment order dependency of mapper and device
| -rw-r--r-- | edge/pkg/devicetwin/dtmanager/dmiworker.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/edge/pkg/devicetwin/dtmanager/dmiworker.go b/edge/pkg/devicetwin/dtmanager/dmiworker.go index 13e8f5c29..504b6e5aa 100644 --- a/edge/pkg/devicetwin/dtmanager/dmiworker.go +++ b/edge/pkg/devicetwin/dtmanager/dmiworker.go @@ -122,14 +122,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou } switch message.GetOperation() { case model.InsertOperation: + dw.dmiCache.DeviceMu.Lock() + dw.dmiCache.DeviceList[device.Name] = &device + dw.dmiCache.DeviceMu.Unlock() err = dmiclient.DMIClientsImp.RegisterDevice(&device) if err != nil { klog.Errorf("add device %s failed with err: %v", device.Name, err) return err } - dw.dmiCache.DeviceMu.Lock() - dw.dmiCache.DeviceList[device.Name] = &device - dw.dmiCache.DeviceMu.Unlock() case model.DeleteOperation: err = dmiclient.DMIClientsImp.RemoveDevice(&device) if err != nil { @@ -140,14 +140,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou delete(dw.dmiCache.DeviceList, device.Name) dw.dmiCache.DeviceMu.Unlock() case model.UpdateOperation: + dw.dmiCache.DeviceMu.Lock() + dw.dmiCache.DeviceList[device.Name] = &device + dw.dmiCache.DeviceMu.Unlock() err = dmiclient.DMIClientsImp.UpdateDevice(&device) if err != nil { klog.Errorf("udpate device %s failed with err: %v", device.Name, err) return err } - dw.dmiCache.DeviceMu.Lock() - dw.dmiCache.DeviceList[device.Name] = &device - dw.dmiCache.DeviceMu.Unlock() default: klog.Warningf("unsupported operation %s", message.GetOperation()) } @@ -158,14 +158,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou } switch message.GetOperation() { case model.InsertOperation: + dw.dmiCache.DeviceModelMu.Lock() + dw.dmiCache.DeviceModelList[dm.Name] = &dm + dw.dmiCache.DeviceModelMu.Unlock() err = dmiclient.DMIClientsImp.CreateDeviceModel(&dm) if err != nil { klog.Errorf("add device model %s failed with err: %v", dm.Name, err) return err } - dw.dmiCache.DeviceModelMu.Lock() - dw.dmiCache.DeviceModelList[dm.Name] = &dm - dw.dmiCache.DeviceModelMu.Unlock() case model.DeleteOperation: err = dmiclient.DMIClientsImp.RemoveDeviceModel(&dm) if err != nil { @@ -176,14 +176,14 @@ func (dw *DMIWorker) dealMetaDeviceOperation(context *dtcontext.DTContext, resou delete(dw.dmiCache.DeviceModelList, dm.Name) dw.dmiCache.DeviceModelMu.Unlock() case model.UpdateOperation: + dw.dmiCache.DeviceModelMu.Lock() + dw.dmiCache.DeviceModelList[dm.Name] = &dm + dw.dmiCache.DeviceModelMu.Unlock() err = dmiclient.DMIClientsImp.UpdateDeviceModel(&dm) if err != nil { klog.Errorf("update device model %s failed with err: %v", dm.Name, err) return err } - dw.dmiCache.DeviceModelMu.Lock() - dw.dmiCache.DeviceModelList[dm.Name] = &dm - dw.dmiCache.DeviceModelMu.Unlock() default: klog.Warningf("unsupported operation %s", message.GetOperation()) } |
