summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-09-11 15:34:53 +0000
committerAlan Conway <aconway@apache.org>2012-09-11 15:34:53 +0000
commit517613c4f0f340b7ecafd8c9bc64d99a9316247c (patch)
treeaaed5f77417ff8fabeede04e53eb4b477a6d4d0e /qpid/cpp/src
parentfcca6b5f59c1d2ee80a565fece3f3bd304f067da (diff)
downloadqpid-python-517613c4f0f340b7ecafd8c9bc64d99a9316247c.tar.gz
NO-JIRA: Fix race in Connection, management object deleted while in use.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1383452 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/Connection.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/Connection.cpp b/qpid/cpp/src/qpid/broker/Connection.cpp
index 8890ba45b6..5818759cbe 100644
--- a/qpid/cpp/src/qpid/broker/Connection.cpp
+++ b/qpid/cpp/src/qpid/broker/Connection.cpp
@@ -138,13 +138,13 @@ void Connection::requestIOProcessing(boost::function0<void> callback)
Connection::~Connection()
{
if (mgmtObject != 0) {
- mgmtObject->resourceDestroy();
// In a cluster, Connections destroyed during shutdown are in
// a cluster-unsafe context. Don't raise an event in that case.
if (!link && isClusterSafe())
agent->raiseEvent(_qmf::EventClientDisconnect(mgmtId, ConnectionState::getUserId(), mgmtObject->get_remoteProperties()));
QPID_LOG_CAT(debug, model, "Delete connection. user:" << ConnectionState::getUserId()
<< " rhost:" << mgmtId );
+ mgmtObject->resourceDestroy();
}
broker.getConnectionObservers().closed(*this);