commit | 5a3c09c9b9b4edcb926fa3ac400fc1a0e0bc6a4b | [log] [tgz] |
---|---|---|
author | Andrea Campanella <andrea@opennetworking.org> | Fri Dec 01 13:57:48 2017 +0100 |
committer | Andrea Campanella <andrea@opennetworking.org> | Fri Dec 01 13:57:48 2017 +0100 |
tree | df4ee95b94a6fbf2a7627bdc6413e02ccb96fc50 | |
parent | f32d854fe483830d03dedb35603599cd175a5ac6 [diff] [blame] |
[ONOS-7279] Fix for illegal state exception when deactivating driver providers Change-Id: I9a8c16e33cac40b91c2b6f405e66f94bcdf5e0e0
diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java index c058ab6..abda2bf 100644 --- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java +++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
@@ -104,6 +104,15 @@ pollFrequency, TimeUnit.SECONDS); } + void terminate() { + deviceService.removeListener(deviceListener); + deviceService = null; + providerService = null; + mastershipService = null; + poller.cancel(true); + executor.shutdown(); + } + @Override public void applyFlowRule(FlowRule... flowRules) { rulesByDevice(flowRules).asMap().forEach(this::applyFlowRules);