summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/SessionManager.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/qpid/cpp/src/qpid/broker/SessionManager.cpp b/qpid/cpp/src/qpid/broker/SessionManager.cpp
index a39cbab88a..7195e73ce5 100644
--- a/qpid/cpp/src/qpid/broker/SessionManager.cpp
+++ b/qpid/cpp/src/qpid/broker/SessionManager.cpp
@@ -69,12 +69,13 @@ void SessionManager::detach(std::auto_ptr<SessionState> session) {
attached.erase(session->getId());
session->detach();
if (session->getTimeout() > 0) {
- session->expiry = AbsTime(now(), session->getTimeout()*TIME_SEC);
- if (session->mgmtObject != 0)
- session->mgmtObject->set_expireTime (Duration::FromEpoch()+session->getTimeout()*TIME_SEC);
+ session->expiry = AbsTime(now(), session->getTimeout()*TIME_SEC);
+ if (session->mgmtObject != 0) {
+ session->mgmtObject->set_expireTime (Duration::FromEpoch()+session->getTimeout()*TIME_SEC);
+ }
detached.push_back(session.release()); // In expiry order
- eraseExpired();
-}
+ eraseExpired();
+ }
}
void SessionManager::forget(const SessionId& id) {