diff options
| author | Alan Conway <aconway@apache.org> | 2012-10-15 21:35:38 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-10-15 21:35:38 +0000 |
| commit | 52f22489357f604aa8d5e6615f2dfe4a06eadf0c (patch) | |
| tree | bf9088c46d4b2c7b1eecaaed9af26fd8d9c7b669 /cpp/src/qpid/broker/SessionState.cpp | |
| parent | ebbc85c99d48c5a2b5cbd5163b15f3a88c964303 (diff) | |
| download | qpid-python-52f22489357f604aa8d5e6615f2dfe4a06eadf0c.tar.gz | |
MQPID-4286: QMF queries for HA replication take too long to process (Jason Dillaman)
Rework ManagementAgent locks, get rid of shared buffers that were points of contention.
Minor log message improvements in ha code.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1398530 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionState.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/SessionState.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/SessionState.cpp b/cpp/src/qpid/broker/SessionState.cpp index fe357eb949..42be45f7ce 100644 --- a/cpp/src/qpid/broker/SessionState.cpp +++ b/cpp/src/qpid/broker/SessionState.cpp @@ -58,7 +58,6 @@ SessionState::SessionState( broker(b), handler(&h), semanticState(*this), adapter(semanticState), - mgmtObject(0), asyncCommandCompleter(new AsyncCommandCompleter(this)) { if (!delayManagement) addManagementObject(); @@ -71,8 +70,8 @@ void SessionState::addManagementObject() { if (parent != 0) { ManagementAgent* agent = getBroker().getManagementAgent(); if (agent != 0) { - mgmtObject = new _qmf::Session - (agent, this, parent, getId().getName()); + mgmtObject = _qmf::Session::shared_ptr(new _qmf::Session + (agent, this, parent, getId().getName())); mgmtObject->set_attached (0); mgmtObject->set_detachedLifespan (0); mgmtObject->clr_expireTime(); @@ -149,9 +148,9 @@ void SessionState::giveReadCredit(int32_t credit) { getConnection().outputTasks.giveReadCredit(credit); } -ManagementObject* SessionState::GetManagementObject (void) const +ManagementObject::shared_ptr SessionState::GetManagementObject (void) const { - return (ManagementObject*) mgmtObject; + return mgmtObject; } Manageable::status_t SessionState::ManagementMethod (uint32_t methodId, |
