commit | 6256d01c1cce111998c2962d563e8d3c1bd4a235 | [log] [tgz] |
---|---|---|
author | Carmelo Cascone <carmelo@onlab.us> | Fri Jun 17 13:49:52 2016 -0700 |
committer | Jonathan Hart <jono@onlab.us> | Tue Jun 28 23:04:51 2016 +0000 |
tree | 41f23fe8d64037fe96b20ef499a084ce1283323e | |
parent | 785fada2fb5fd481323f6a48e47aa8c0b7328e54 [diff] |
Fixed deadlock in BMv2 device context service Also minor refactoring of synchronized blocks. Change-Id: Ifea25208ca4f1839bb3f21ba5b5ecfb2441baa35
diff --git a/providers/bmv2/device/src/main/java/org/onosproject/provider/bmv2/device/impl/Bmv2DeviceProvider.java b/providers/bmv2/device/src/main/java/org/onosproject/provider/bmv2/device/impl/Bmv2DeviceProvider.java index 1a9d4a0..2f30f06 100644 --- a/providers/bmv2/device/src/main/java/org/onosproject/provider/bmv2/device/impl/Bmv2DeviceProvider.java +++ b/providers/bmv2/device/src/main/java/org/onosproject/provider/bmv2/device/impl/Bmv2DeviceProvider.java
@@ -269,12 +269,10 @@ private void disconnectDevice(DeviceId did) { log.debug("Trying to disconnect device from core... deviceId={}", did); - activeDevices.compute(did, (k, v) -> { - if (deviceService.isAvailable(did)) { - providerService.deviceDisconnected(did); - } - return null; - }); + if (deviceService.isAvailable(did)) { + providerService.deviceDisconnected(did); + } + activeDevices.put(did, null); } /**