summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-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) {