summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionHandler.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-05-13 21:38:28 +0000
committerGordon Sim <gsim@apache.org>2008-05-13 21:38:28 +0000
commit7e6635d7e297f6ecf2199028da573bc10437f3ae (patch)
tree7e6ffe5b0d89cd1d496578a6f13a8184849abd33 /cpp/src/qpid/broker/SessionHandler.cpp
parentc36a80f0b03bea42bca570e994d08613b08fd6dd (diff)
downloadqpid-python-7e6635d7e297f6ecf2199028da573bc10437f3ae.tar.gz
QPID-990: Patch from Ted Ross to enable persisting of inter-broker routing entities
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@656023 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionHandler.cpp')
-rw-r--r--cpp/src/qpid/broker/SessionHandler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/SessionHandler.cpp b/cpp/src/qpid/broker/SessionHandler.cpp
index e59a79f711..2ec0988fc0 100644
--- a/cpp/src/qpid/broker/SessionHandler.cpp
+++ b/cpp/src/qpid/broker/SessionHandler.cpp
@@ -65,6 +65,9 @@ void SessionHandler::handleIn(AMQFrame& f) {
} else if (session.get()) {
//we are attached and frame was not a session control so it is for upper layers
session->handle(f);
+ } else if (m && m->isA<SessionDetachedBody>()) {
+ handleDetach();
+ connection.closeChannel(channel.get());
} else {
throw NotAttachedException(QPID_MSG("Channel " << channel.get() << " is not attached"));
}