From e1cc77fda58a22b4d74e19688c0247ce1735ee39 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 19 Nov 2008 15:36:16 +0000 Subject: Fix seg fault caused by exceptiosn thrown in Cluster ctor. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@718983 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/Cluster.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpp/src/qpid/cluster') diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp index 5dffae2b2f..d08e06c863 100644 --- a/cpp/src/qpid/cluster/Cluster.cpp +++ b/cpp/src/qpid/cluster/Cluster.cpp @@ -113,12 +113,12 @@ Cluster::Cluster(const std::string& name_, const Url& url_, broker::Broker& b, b } broker.getKnownBrokers = boost::bind(&Cluster::getUrls, this); failoverExchange.reset(new FailoverExchange(this)); - broker.addFinalizer(boost::bind(&Cluster::brokerShutdown, this)); cpgDispatchHandle.startWatch(poller); deliverQueue.start(); QPID_LOG(notice, *this << " joining cluster " << name.str()); if (useQuorum) quorum.init(); cpg.join(name); + broker.addFinalizer(boost::bind(&Cluster::brokerShutdown, this)); // Must be last for exception safety. } Cluster::~Cluster() { -- cgit v1.2.1