summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/UpdateClient.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-10-21 17:03:33 +0000
committerAlan Conway <aconway@apache.org>2009-10-21 17:03:33 +0000
commit9c12f89c6ee28f2741e288b6155bc900ef1c4f05 (patch)
tree2fa86b352e831781245f4c27092bad77dcff2aa0 /cpp/src/qpid/cluster/UpdateClient.cpp
parent4214ec3e632be1f9a8cb1553280c5948fa9161bb (diff)
downloadqpid-python-9c12f89c6ee28f2741e288b6155bc900ef1c4f05.tar.gz
Fix problems with sessions going out of scope and session numbers wrapping around.
Fixes QPID-1789: sessions that go out of scope without being detached will detach themselves. Also fixes several issues that arise when the session numbers wraps around and start re-using old numbers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@828108 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/UpdateClient.cpp')
-rw-r--r--cpp/src/qpid/cluster/UpdateClient.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/UpdateClient.cpp b/cpp/src/qpid/cluster/UpdateClient.cpp
index d6df8bd5ac..a9761962e8 100644
--- a/cpp/src/qpid/cluster/UpdateClient.cpp
+++ b/cpp/src/qpid/cluster/UpdateClient.cpp
@@ -313,6 +313,7 @@ void UpdateClient::updateSession(broker::SessionHandler& sh) {
// Create a client session to update session state.
boost::shared_ptr<client::ConnectionImpl> cimpl = client::ConnectionAccess::getImpl(shadowConnection);
boost::shared_ptr<client::SessionImpl> simpl = cimpl->newSession(ss->getId().getName(), ss->getTimeout(), sh.getChannel());
+ simpl->disableAutoDetach();
client::SessionBase_0_10Access(shadowSession).set(simpl);
AMQP_AllProxy::ClusterConnection proxy(simpl->out);