summaryrefslogtreecommitdiff
path: root/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
commit439b76dd42f6f402699dee7cac93d1a0e2011ad9 (patch)
tree2b8301fb9ab03ea54ee9493f2185a8498c2dbc17 /cpp/src
parent58b8f68a76648248bbb33641696dc7c20d56fdf1 (diff)
downloadqpid-python-439b76dd42f6f402699dee7cac93d1a0e2011ad9.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/qpid@1514192 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/broker/SessionHandler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/SessionHandler.cpp b/cpp/src/qpid/broker/SessionHandler.cpp
index 93977c8a6e..ff7693e93a 100644
--- a/cpp/src/qpid/broker/SessionHandler.cpp
+++ b/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)