You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2008/11/20 20:12:21 UTC
svn commit: r719326 -
/incubator/qpid/trunk/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
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,