summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-09-25 09:05:38 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-09-25 09:05:38 +0000
commitab129303874d88d4d92eee697d58d11f284bb0a8 (patch)
tree961d604ec546ce0cd7e24241af3c4652c5bd978c /cpp/src
parentBug 1262. (diff)
downloadice-ab129303874d88d4d92eee697d58d11f284bb0a8.tar.bz2
ice-ab129303874d88d4d92eee697d58d11f284bb0a8.tar.xz
ice-ab129303874d88d4d92eee697d58d11f284bb0a8.zip
Fixed potential NullHandleException
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGrid/AdminSessionI.cpp7
-rw-r--r--cpp/src/IceGrid/SessionI.cpp7
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;
}