diff options
author | Alan Conway <aconway@apache.org> | 2009-02-06 16:39:17 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-02-06 16:39:17 +0000 |
commit | d6deb54c0ee69729d10cff57191e0d9711ed13f3 (patch) | |
tree | b70176f26f386080569f72c990ae151120b75aaa | |
parent | b0ddeb44a42706e064664eb94c6e6d1a29bbf3b4 (diff) | |
download | qpid-python-d6deb54c0ee69729d10cff57191e0d9711ed13f3.tar.gz |
Fix seg fault if cluster and management are enabled.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@741624 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Cluster.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/qpid/cpp/src/qpid/cluster/Cluster.cpp b/qpid/cpp/src/qpid/cluster/Cluster.cpp index 4709ca759d..8e6ece11cc 100644 --- a/qpid/cpp/src/qpid/cluster/Cluster.cpp +++ b/qpid/cpp/src/qpid/cluster/Cluster.cpp @@ -109,6 +109,14 @@ Cluster::Cluster(const std::string& name_, const Url& url_, broker::Broker& b, b lastBroker(false), sequence(0) { + mAgent = ManagementAgent::Singleton::getInstance(); + if (mAgent != 0){ + _qmf::Package packageInit(mAgent); + mgmtObject = new _qmf::Cluster (mAgent, this, &broker,name,myUrl.str()); + mAgent->addObject (mgmtObject); + mgmtObject->set_status("JOINING"); + } + failoverExchange.reset(new FailoverExchange(this)); if (quorum_) quorum.init(); cpg.join(name); @@ -125,13 +133,6 @@ void Cluster::initialize() { if (myUrl.empty()) myUrl = Url::getIpAddressesUrl(broker.getPort(broker::Broker::TCP_TRANSPORT)); QPID_LOG(notice, *this << " joining cluster " << name << " with url=" << myUrl); - mAgent = ManagementAgent::Singleton::getInstance(); - if (mAgent != 0){ - _qmf::Package packageInit(mAgent); - mgmtObject = new _qmf::Cluster (mAgent, this, &broker,name,myUrl.str()); - mAgent->addObject (mgmtObject); - mgmtObject->set_status("JOINING"); - } broker.getKnownBrokers = boost::bind(&Cluster::getUrls, this); dispatcher.start(); deliverEventQueue.start(); |