diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/SessionHandler.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/broker/SessionHandler.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/SessionHandler.cpp b/qpid/cpp/src/qpid/broker/SessionHandler.cpp index 752fa55535..b58c7c01c5 100644 --- a/qpid/cpp/src/qpid/broker/SessionHandler.cpp +++ b/qpid/cpp/src/qpid/broker/SessionHandler.cpp @@ -64,6 +64,7 @@ void SessionHandler::handleDetach() { if (session.get()) connection.getBroker().getSessionManager().detach(session); assert(!session.get()); + if (detachedCallback) detachedCallback(); connection.closeChannel(channel.get()); } @@ -117,4 +118,8 @@ void SessionHandler::attached(const std::string& name) } } +void SessionHandler::setDetachedCallback(boost::function<void()> cb) { + detachedCallback = cb; +} + }} // namespace qpid::broker |