diff options
Diffstat (limited to 'cpp/src/IceGrid/AdminSessionI.cpp')
-rw-r--r-- | cpp/src/IceGrid/AdminSessionI.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/AdminSessionI.cpp b/cpp/src/IceGrid/AdminSessionI.cpp index 8306b118074..5f98dd7cf89 100644 --- a/cpp/src/IceGrid/AdminSessionI.cpp +++ b/cpp/src/IceGrid/AdminSessionI.cpp @@ -19,9 +19,7 @@ using namespace std; using namespace IceGrid; -AdminSessionI::AdminSessionI(const string& id, - const DatabasePtr& db, - int timeout) : +AdminSessionI::AdminSessionI(const string& id, const DatabasePtr& db, int timeout) : BaseSessionI(id, "admin", db), _timeout(timeout) { @@ -190,10 +188,12 @@ AdminSessionI::destroy(const Ice::Current& current) AdminSessionFactory::AdminSessionFactory(const Ice::ObjectAdapterPtr& adapter, const DatabasePtr& database, + const ReapThreadPtr& reapThread, const RegistryIPtr& registry) : _adapter(adapter), _database(database), _timeout(registry->getSessionTimeout()), + _reapThread(reapThread), _registry(registry) { } @@ -231,6 +231,8 @@ AdminSessionFactory::createGlacier2Session(const string& sessionId, const Glacie } } + _reapThread->add(new SessionReapable(_adapter, session, s->ice_getIdentity()), ctl->getSessionTimeout()); + return s; } |