summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index 6e99a84b88c..d93fe482005 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.cpp
@@ -16,8 +16,7 @@
using namespace std;
using namespace IceGrid;
-NodeCache::NodeCache(int sessionTimeout, const TraceLevelsPtr& traceLevels) :
- CacheByString<NodeEntry>(traceLevels), _sessionTimeout(sessionTimeout)
+NodeCache::NodeCache(int sessionTimeout) : _sessionTimeout(sessionTimeout)
{
}
@@ -106,6 +105,12 @@ NodeEntry::setSession(const NodeSessionIPtr& session)
if(session)
{
+ if(_cache.getTraceLevels() && _cache.getTraceLevels()->node > 0)
+ {
+ Ice::Trace out(_cache.getTraceLevels()->logger, _cache.getTraceLevels()->nodeCat);
+ out << "node `" << _name << "' up";
+ }
+
ServerEntrySeq entries;
{
Lock sync(*this);
@@ -115,16 +120,10 @@ NodeEntry::setSession(const NodeSessionIPtr& session)
}
}
for_each(entries.begin(), entries.end(), IceUtil::voidMemFun(&ServerEntry::sync));
-
- if(_cache.getTraceLevels()->node > 0)
- {
- Ice::Trace out(_cache.getTraceLevels()->logger, _cache.getTraceLevels()->nodeCat);
- out << "node `" << _name << "' up";
- }
}
else
{
- if(_cache.getTraceLevels()->node > 0)
+ if(_cache.getTraceLevels() && _cache.getTraceLevels()->node > 0)
{
Ice::Trace out(_cache.getTraceLevels()->logger, _cache.getTraceLevels()->nodeCat);
out << "node `" << _name << "' down";