You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2012/07/04 21:04:39 UTC
svn commit: r1357370 - in /qpid/trunk/qpid/cpp/src/qpid/ha: HaBroker.cpp
HaBroker.h Primary.cpp
Author: aconway
Date: Wed Jul 4 19:04:38 2012
New Revision: 1357370
URL: http://svn.apache.org/viewvc?rev=1357370&view=rev
Log:
NO-JIRA: Trivial fix for crash-on-exit bug.
Primary::~Primary() no longer resets HaBroker::observer. It is unnecessary since
HaBroker unregisters the observer before Primary is destroyed, and it cause
sporadic crash on exit because the HaBroker::observer can be reset before
~Primary is called.
Modified:
qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp
qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h
qpid/trunk/qpid/cpp/src/qpid/ha/Primary.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp?rev=1357370&r1=1357369&r2=1357370&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp Wed Jul 4 19:04:38 2012
@@ -60,9 +60,9 @@ HaBroker::HaBroker(broker::Broker& b, co
broker(b),
systemId(broker.getSystem()->getSystemId().data()),
settings(s),
+ observer(new ConnectionObserver(*this, systemId)),
mgmtObject(0),
status(STANDALONE),
- observer(new ConnectionObserver(*this, systemId)),
brokerInfo(broker.getSystem()->getNodeName(),
// TODO aconway 2012-05-24: other transports?
broker.getPort(broker::Broker::TCP_TRANSPORT), systemId),
Modified: qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h?rev=1357370&r1=1357369&r2=1357370&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h Wed Jul 4 19:04:38 2012
@@ -116,13 +116,13 @@ class HaBroker : public management::Mana
const Settings settings;
mutable sys::Mutex lock;
+ boost::shared_ptr<ConnectionObserver> observer; // Used by Backup and Primary
std::auto_ptr<Backup> backup;
std::auto_ptr<Primary> primary;
qmf::org::apache::qpid::ha::HaBroker* mgmtObject;
Url clientUrl, brokerUrl;
std::vector<Url> knownBrokers;
BrokerStatus status;
- boost::shared_ptr<ConnectionObserver> observer;
BrokerInfo brokerInfo;
Membership membership;
ReplicationTest replicationTest;
Modified: qpid/trunk/qpid/cpp/src/qpid/ha/Primary.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/Primary.cpp?rev=1357370&r1=1357369&r2=1357370&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/Primary.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/Primary.cpp Wed Jul 4 19:04:38 2012
@@ -97,7 +97,6 @@ Primary::Primary(HaBroker& hb, const Bro
}
Primary::~Primary() {
- haBroker.getObserver()->setObserver(boost::shared_ptr<broker::ConnectionObserver>());
haBroker.getBroker().getConfigurationObservers().remove(configurationObserver);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org