From aba9e1977bf31b82a9ae87ee7d84d7c0ccd50328 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Fri, 22 Jun 2012 19:28:42 +0000 Subject: NO-JIRA: Simplify locking and remove member-update callback in HA code. Get rid of the separate Membership lock and put HaBroker in control of membership changes. Removes a potential deadlock which could explain some observed failures in long-running failover tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1353001 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/ha/Backup.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/ha/Backup.cpp') diff --git a/cpp/src/qpid/ha/Backup.cpp b/cpp/src/qpid/ha/Backup.cpp index 90c615aaf5..4b9cef05bc 100644 --- a/cpp/src/qpid/ha/Backup.cpp +++ b/cpp/src/qpid/ha/Backup.cpp @@ -83,6 +83,8 @@ void Backup::initialize(const Url& brokers) { false, // durable settings.mechanism, settings.username, settings.password, false); // amq.failover + + sys::Mutex::ScopedLock l(lock); link = result.first; link->setUrl(url); replicator.reset(new BrokerReplicator(haBroker, link)); @@ -93,7 +95,6 @@ void Backup::initialize(const Url& brokers) { Backup::~Backup() { if (link) link->close(); if (replicator.get()) broker.getExchanges().destroy(replicator->getName()); - replicator.reset(); } -- cgit v1.2.1