summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ServerCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/ServerCache.cpp')
-rw-r--r--cpp/src/IceGrid/ServerCache.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ServerCache.cpp b/cpp/src/IceGrid/ServerCache.cpp
index f8ddf356417..f2d21678671 100644
--- a/cpp/src/IceGrid/ServerCache.cpp
+++ b/cpp/src/IceGrid/ServerCache.cpp
@@ -410,6 +410,13 @@ ServerEntry::getProxy(int& activationTimeout, int& deactivationTimeout, string&
AdapterPrx
ServerEntry::getAdapter(const string& id, bool upToDate)
{
+ int activationTimeout, deactivationTimeout;
+ return getAdapter(activationTimeout, deactivationTimeout, id, upToDate);
+}
+
+AdapterPrx
+ServerEntry::getAdapter(int& activationTimeout, int& deactivationTimeout, const string& id, bool upToDate)
+{
{
Lock sync(*this);
if(_loaded.get() || _proxy && _synchronizing && !upToDate) // Synced or if not up to date is fine
@@ -418,6 +425,8 @@ ServerEntry::getAdapter(const string& id, bool upToDate)
if(p != _adapters.end())
{
assert(p->second);
+ activationTimeout = _activationTimeout;
+ deactivationTimeout = _deactivationTimeout;
return p->second;
}
else
@@ -443,11 +452,13 @@ ServerEntry::getAdapter(const string& id, bool upToDate)
AdapterPrxDict::const_iterator p = _adapters.find(id);
if(p != _adapters.end())
{
+ activationTimeout = _activationTimeout;
+ deactivationTimeout = _deactivationTimeout;
return p->second;
}
else
{
- throw AdapterNotExistException(id);
+ throw AdapterNotExistException(id);
}
}
else if(_load.get())