summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AdminSessionI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/AdminSessionI.cpp')
-rw-r--r--cpp/src/IceGrid/AdminSessionI.cpp8
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;
}