summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-08-15 07:57:09 +0000
committerGordon Sim <gsim@apache.org>2013-08-15 07:57:09 +0000
commitf203ee690d73b8f6ff19ba8b4f3f39808a1eddde (patch)
treec3d89e9205e5b63bd8cc768d2f2fb0abb2f7a09c /qpid/cpp/src
parentdbf150adac37ff3a11ad1dfc5ec8b12feb99213c (diff)
downloadqpid-python-f203ee690d73b8f6ff19ba8b4f3f39808a1eddde.tar.gz
QPID-5072: ensure session manager is informed when sessions end due to connection exception
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1514192 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/SessionHandler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/SessionHandler.cpp b/qpid/cpp/src/qpid/broker/SessionHandler.cpp
index 93977c8a6e..ff7693e93a 100644
--- a/qpid/cpp/src/qpid/broker/SessionHandler.cpp
+++ b/qpid/cpp/src/qpid/broker/SessionHandler.cpp
@@ -39,7 +39,11 @@ SessionHandler::SessionHandler(amqp_0_10::Connection& c, ChannelId ch)
proxy(out)
{}
-SessionHandler::~SessionHandler() {}
+SessionHandler::~SessionHandler()
+{
+ if (session.get())
+ connection.getBroker().getSessionManager().forget(session->getId());
+}
void SessionHandler::connectionException(
framing::connection::CloseCode code, const std::string& msg)