From 03fbf27d2f43a039263cf04448951e49d4c21f1c Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Tue, 11 Sep 2012 15:34:53 +0000 Subject: NO-JIRA: Fix race in Connection, management object deleted while in use. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1383452 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Connection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpp/src') diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp index 8890ba45b6..5818759cbe 100644 --- a/cpp/src/qpid/broker/Connection.cpp +++ b/cpp/src/qpid/broker/Connection.cpp @@ -138,13 +138,13 @@ void Connection::requestIOProcessing(boost::function0 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); -- cgit v1.2.1