commit | 78eab37f0277955dc773010046f1f88bad1b5050 | [log] [tgz] |
---|---|---|
author | zhongguo zhao <zhao_zhong_guo@sina.com> | Mon Aug 27 16:22:39 2018 +0800 |
committer | zhongguo zhao <zhao_zhong_guo@sina.com> | Mon Aug 27 16:23:45 2018 +0800 |
tree | 9afdd0c9f36363b930f8deaa66d2fb6a20112f85 | |
parent | 3436fdec42a2126a75079aebaddd329b91d6ac2f [diff] |
fix too many open files Change-Id: If5b31db383631dfca907a1ee1018d51ce2f0f36e
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java index e0959cd..75dce05 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfControllerImpl.java
@@ -315,10 +315,7 @@ l.deviceRemoved(deviceId); } } else { - netconfDeviceMap.remove(deviceId); - for (NetconfDeviceListener l : netconfDeviceListeners) { - l.deviceRemoved(deviceId); - } + stopDevice(deviceId, true); } }
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java index 8a086b5..48be199 100644 --- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java +++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
@@ -705,6 +705,23 @@ return false; } + @Override + public boolean close() throws NetconfException { + try { + return super.close(); + } catch (IOException ioe) { + throw new NetconfException(ioe.getMessage()); + } finally { + try { + session.close(); + channel.close(); + client.close(); + } catch (IOException ioe) { + log.warn("Error closing session {} on {}", sessionID, deviceInfo, ioe); + } + } + } + protected void publishEvent(NetconfDeviceOutputEvent event) { primaryListeners.forEach(lsnr -> { if (lsnr.isRelevant(event)) {