summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SessionImpl.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-06-06 20:23:28 +0000
committerAlan Conway <aconway@apache.org>2008-06-06 20:23:28 +0000
commitfb1f5c770c551fe526adf5b860dd72cf5eb07311 (patch)
tree79a0d3ccb278e51b9ec5213b038b903d768c2727 /cpp/src/qpid/client/SessionImpl.cpp
parent76c922baf182bb367feed2ec014e7cab9db7f79d (diff)
downloadqpid-python-fb1f5c770c551fe526adf5b860dd72cf5eb07311.tar.gz
Added exceptions to sys::Waitable.
Fixed client side deadlock involving client::Bounds. Fixed incorrect exception messages during connection shutdown. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664114 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/SessionImpl.cpp')
-rw-r--r--cpp/src/qpid/client/SessionImpl.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/cpp/src/qpid/client/SessionImpl.cpp b/cpp/src/qpid/client/SessionImpl.cpp
index 66e1b9e40f..7b8cae943f 100644
--- a/cpp/src/qpid/client/SessionImpl.cpp
+++ b/cpp/src/qpid/client/SessionImpl.cpp
@@ -69,12 +69,14 @@ SessionImpl::SessionImpl(const std::string& name,
}
SessionImpl::~SessionImpl() {
- Lock l(state);
- if (state != DETACHED) {
- QPID_LOG(warning, "Detaching deleted session");
- setState(DETACHED);
- handleClosed();
- state.waitWaiters();
+ {
+ Lock l(state);
+ if (state != DETACHED) {
+ QPID_LOG(warning, "Detaching deleted session");
+ setState(DETACHED);
+ handleClosed();
+ state.waitWaiters();
+ }
}
connection->erase(channel);
}