summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/SessionManager.h
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2008-10-17 17:04:16 +1000
committerMichi Henning <michi@zeroc.com>2008-10-17 17:04:16 +1000
commit4259685e44589a6efbb45f43f054b406dc8cf89c (patch)
treed3e26a8201d782e4cd4f617c090cafe9e609d943 /cpp/src/IceGrid/SessionManager.h
parentChanged swish-e perl scripts to tolerate -IceTouch suffix and to avoid (diff)
parentSquashed commit of the following: (diff)
downloadice-4259685e44589a6efbb45f43f054b406dc8cf89c.tar.bz2
ice-4259685e44589a6efbb45f43f054b406dc8cf89c.tar.xz
ice-4259685e44589a6efbb45f43f054b406dc8cf89c.zip
Merge branch 'R3_3_branch'
Diffstat (limited to 'cpp/src/IceGrid/SessionManager.h')
-rw-r--r--cpp/src/IceGrid/SessionManager.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/SessionManager.h b/cpp/src/IceGrid/SessionManager.h
index 7760241e865..c598eadc2cd 100644
--- a/cpp/src/IceGrid/SessionManager.h
+++ b/cpp/src/IceGrid/SessionManager.h
@@ -189,7 +189,7 @@ public:
}
virtual void
- tryCreateSession(bool waitForTry = true)
+ tryCreateSession(bool waitForTry = true, const IceUtil::Time& timeout = IceUtil::Time())
{
{
Lock sync(*this);
@@ -215,7 +215,17 @@ public:
// Wait until the action is executed and the state changes.
while(_nextAction == Connect || _nextAction == KeepAlive || _state == InProgress)
{
- wait();
+ if(timeout == IceUtil::Time())
+ {
+ wait();
+ }
+ else
+ {
+ if(!timedWait(timeout))
+ {
+ break;
+ }
+ }
}
}
}