summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Moravec <pmoravec@apache.org>2015-03-05 11:37:35 +0000
committerPavel Moravec <pmoravec@apache.org>2015-03-05 11:37:35 +0000
commitb60fcf2a74a3727a18bdd6f2b46d745a420d6669 (patch)
tree252ed3a8cc7621678f91ab8113585181c649b645
parent3691fc038d6df6c88eb5f41aad8812f8710964f1 (diff)
downloadqpid-python-b60fcf2a74a3727a18bdd6f2b46d745a420d6669.tar.gz
QPID-6397: [C++ broker] segfault when processing QMF method during periodic processing
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1664313 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/management/ManagementAgent.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/management/ManagementAgent.cpp b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
index 1eab6f622b..516babce61 100644
--- a/qpid/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
@@ -706,8 +706,8 @@ void ManagementAgent::moveNewObjects()
void ManagementAgent::periodicProcessing (void)
{
#define HEADROOM 4096
- debugSnapshot("Management agent periodic processing");
sys::Mutex::ScopedLock lock (userLock);
+ debugSnapshot("Management agent periodic processing");
string routingKey;
string sBuf;
@@ -2704,6 +2704,8 @@ string ManagementAgent::summarizeAgents() {
void ManagementAgent::debugSnapshot(const char* title) {
+ sys::Mutex::ScopedLock lock(addLock);
+ sys::Mutex::ScopedLock objLock (objectLock);
QPID_LOG(debug, title << ": management snapshot: "
<< packages.size() << " packages, "
<< summarizeMap("objects", managementObjects)