diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-12-13 15:50:57 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-12-13 15:50:57 +0000 |
commit | 2b5768c8755cccd073e910a604b3152c3497a636 (patch) | |
tree | e6f486098773e9c7a45eb232b2f40c33cacd70ab /cpp/src/IceGrid/ServerCache.cpp | |
parent | Fixed bug #1611 (diff) | |
download | ice-2b5768c8755cccd073e910a604b3152c3497a636.tar.bz2 ice-2b5768c8755cccd073e910a604b3152c3497a636.tar.xz ice-2b5768c8755cccd073e910a604b3152c3497a636.zip |
Fixed timeout issue
Diffstat (limited to 'cpp/src/IceGrid/ServerCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/ServerCache.cpp | 13 |
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()) |