diff options
-rw-r--r-- | cpp/src/IceGrid/AdminSessionI.cpp | 7 | ||||
-rw-r--r-- | cpp/src/IceGrid/SessionI.cpp | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/AdminSessionI.cpp b/cpp/src/IceGrid/AdminSessionI.cpp index ec96f23bc11..ce6924bf0a6 100644 --- a/cpp/src/IceGrid/AdminSessionI.cpp +++ b/cpp/src/IceGrid/AdminSessionI.cpp @@ -194,6 +194,7 @@ AdminSessionFactory::createGlacier2Session(const string& sessionId, const Glacie id.name = "Query"; ids.push_back(id); + int timeout = 0; if(ctl) { try @@ -205,9 +206,13 @@ AdminSessionFactory::createGlacier2Session(const string& sessionId, const Glacie s->destroy(); return 0; } + timeout = ctl->getSessionTimeout(); } - _reaper->add(new SessionReapable(_adapter, session, s->ice_getIdentity()), ctl->getSessionTimeout()); + if(timeout > 0) + { + _reaper->add(new SessionReapable(_adapter, session, s->ice_getIdentity()), timeout); + } return s; } diff --git a/cpp/src/IceGrid/SessionI.cpp b/cpp/src/IceGrid/SessionI.cpp index f2e3dbb47ac..65ae312a1de 100644 --- a/cpp/src/IceGrid/SessionI.cpp +++ b/cpp/src/IceGrid/SessionI.cpp @@ -363,6 +363,7 @@ ClientSessionFactory::createGlacier2Session(const string& sessionId, const Glaci id.name = "Query"; ids.push_back(id); + int timeout = 0; if(ctl) { try @@ -374,9 +375,13 @@ ClientSessionFactory::createGlacier2Session(const string& sessionId, const Glaci s->destroy(); return 0; } + timeout = ctl->getSessionTimeout(); } - _reaper->add(new SessionReapable(_adapter, session, s->ice_getIdentity()), ctl->getSessionTimeout()); + if(timeout > 0) + { + _reaper->add(new SessionReapable(_adapter, session, s->ice_getIdentity()), timeout); + } return s; } |