Author: tross
Date: Thu Nov 20 11:12:21 2008
New Revision: 719326

URL: http://svn.apache.org/viewvc?rev=719326&view=rev
Log:
Add proper cleanup of stored management objects during agent shutdown.

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp?rev=719326&r1=719325&r2=719326&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp Thu 
Nov 20 11:12:21 2008
@@ -100,6 +100,20 @@
     if (!connThreadBody.isSleeping()) {
         connThread.join();
     }
+
+    // Release the memory associated with stored management objects.
+    {
+        Mutex::ScopedLock lock(agentLock);
+
+        moveNewObjectsLH();
+        for (ManagementObjectMap::iterator iter = managementObjects.begin ();
+             iter != managementObjects.end ();
+             iter++) {
+            ManagementObject* object = iter->second;
+            delete object;
+        }
+        managementObjects.clear();
+    }
 }
 
 void ManagementAgentImpl::init(const string& brokerHost,


Reply via email to