summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-10-10 17:44:50 +0000
committerAlan Conway <aconway@apache.org>2008-10-10 17:44:50 +0000
commit056c17376003dbbf88de7444cd630de05e7a7678 (patch)
tree4b8b945b6cc4796f5efe742936c77eeba373d2cd /cpp/src/qpid/client
parent634d62c308b4896047810cf4a7e87f8238190891 (diff)
downloadqpid-python-056c17376003dbbf88de7444cd630de05e7a7678.tar.gz
Failover client and example fixes & tidy up.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703532 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client')
-rw-r--r--cpp/src/qpid/client/Connection.cpp2
-rw-r--r--cpp/src/qpid/client/ConnectionImpl.cpp7
-rw-r--r--cpp/src/qpid/client/FailoverListener.cpp5
3 files changed, 7 insertions, 7 deletions
diff --git a/cpp/src/qpid/client/Connection.cpp b/cpp/src/qpid/client/Connection.cpp
index 3ee70c222a..e393d135f6 100644
--- a/cpp/src/qpid/client/Connection.cpp
+++ b/cpp/src/qpid/client/Connection.cpp
@@ -139,7 +139,7 @@ void Connection::close() {
}
std::vector<Url> Connection::getKnownBrokers() {
- return isOpen() ? impl->getKnownBrokers() : std::vector<Url>();
+ return impl ? impl->getKnownBrokers() : std::vector<Url>();
}
}} // namespace qpid::client
diff --git a/cpp/src/qpid/client/ConnectionImpl.cpp b/cpp/src/qpid/client/ConnectionImpl.cpp
index 93eea50e43..5d4723b442 100644
--- a/cpp/src/qpid/client/ConnectionImpl.cpp
+++ b/cpp/src/qpid/client/ConnectionImpl.cpp
@@ -151,11 +151,8 @@ static const std::string CONN_CLOSED("Connection closed by broker");
void ConnectionImpl::shutdown() {
Mutex::ScopedLock l(lock);
- if (handler.isClosed())
- {
- std::cerr << "MDEBUG ConnectionImpl::shutdown -- returning w/o failure callback!\n";
- return;
- }
+ if (handler.isClosed()) return;
+
// FIXME aconway 2008-06-06: exception use, amqp0-10 does not seem to have
// an appropriate close-code. connection-forced is not right.
if (!handler.isClosing())
diff --git a/cpp/src/qpid/client/FailoverListener.cpp b/cpp/src/qpid/client/FailoverListener.cpp
index 5ca617138c..591bea91e8 100644
--- a/cpp/src/qpid/client/FailoverListener.cpp
+++ b/cpp/src/qpid/client/FailoverListener.cpp
@@ -64,7 +64,10 @@ void FailoverListener::stop() {
subscriptions.reset();
}
FailoverListener::~FailoverListener() {
- stop();
+ try { stop(); }
+ catch (const std::exception& e) {
+ QPID_LOG(warning, QPID_MSG("Ignoring exception in destructor" << e.what()));
+ }
}
void FailoverListener::received(Message& msg) {