summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Cluster.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-10-08 18:28:42 +0000
committerAlan Conway <aconway@apache.org>2009-10-08 18:28:42 +0000
commit550ee85ea3ac31cedec277b3f4af0b24f5385e77 (patch)
tree9d1cc8cf4289aab49c40ad09127226f37aa5718b /cpp/src/qpid/cluster/Cluster.cpp
parentbdefa56cae58cdbef08a6c9023a82368e1e9d322 (diff)
downloadqpid-python-550ee85ea3ac31cedec277b3f4af0b24f5385e77.tar.gz
Cluster shuts down broker via SignalHandler to fix memory errors on exit.
The SignalHandler holds a global reference to the broker which needs to be reset otherwise there are problems when the broker by a global destructor. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@823258 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Cluster.cpp')
-rw-r--r--cpp/src/qpid/cluster/Cluster.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp
index d440068781..0706fc72e8 100644
--- a/cpp/src/qpid/cluster/Cluster.cpp
+++ b/cpp/src/qpid/cluster/Cluster.cpp
@@ -99,6 +99,7 @@
#include "qpid/broker/Connection.h"
#include "qpid/broker/QueueRegistry.h"
#include "qpid/broker/SessionState.h"
+#include "qpid/broker/SignalHandler.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/AMQP_AllOperations.h"
#include "qpid/framing/AllInvoker.h"
@@ -311,7 +312,7 @@ void Cluster::leave(Lock&) {
// Finalize connections now now to avoid problems later in destructor.
LEAVE_TRY(localConnections.clear());
LEAVE_TRY(connections.clear());
- LEAVE_TRY(broker.shutdown());
+ LEAVE_TRY(broker::SignalHandler::shutdown());
}
}