diff options
| author | Alan Conway <aconway@apache.org> | 2012-06-22 19:28:42 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2012-06-22 19:28:42 +0000 |
| commit | aba9e1977bf31b82a9ae87ee7d84d7c0ccd50328 (patch) | |
| tree | 306f5fa72d657a5bd08fd4d432a56f36f5017cce /cpp/src/qpid/ha/Backup.cpp | |
| parent | 6dbd8a154b4c969ce76c7992b5e377d1604bc244 (diff) | |
| download | qpid-python-aba9e1977bf31b82a9ae87ee7d84d7c0ccd50328.tar.gz | |
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
Diffstat (limited to 'cpp/src/qpid/ha/Backup.cpp')
| -rw-r--r-- | cpp/src/qpid/ha/Backup.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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(); } |
