dispose properly from Node::Dispose
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Wed, 02 May 2007 09:16:58 +0200
changeset 467 319ffa6c5e0a
parent 466 33710ab0ecf9
child 468 121f7c328e35
dispose properly from Node::Dispose
src/node/node.cc
--- a/src/node/node.cc	Wed May 02 09:16:32 2007 +0200
+++ b/src/node/node.cc	Wed May 02 09:16:58 2007 +0200
@@ -24,6 +24,7 @@
 
 #include "node.h"
 #include "node-list.h"
+#include "net-device.h"
 
 namespace ns3{
 
@@ -89,6 +90,14 @@
 
 void Node::Dispose()
 {
+  for (std::vector<NetDevice *>::iterator i = m_devices.begin ();
+       i != m_devices.end (); i++)
+    {
+      NetDevice *device = *i;
+      device->Dispose ();
+      device->Unref ();
+    }
+  m_devices.erase (m_devices.begin (), m_devices.end ());
 }
 
 // Node stack creation and management routines.