diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-07-10 14:36:46 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-07-10 14:36:46 +0200 |
commit | 869aeffd3663e026f469ae373de3122bcc5ea7bb (patch) | |
tree | 6dbc8ff6a7ff515eade6f045c10f9973d61f283f /cpp/src/IceGrid/ServerCache.cpp | |
parent | Commited fix to fix 2286 (diff) | |
download | ice-869aeffd3663e026f469ae373de3122bcc5ea7bb.tar.bz2 ice-869aeffd3663e026f469ae373de3122bcc5ea7bb.tar.xz ice-869aeffd3663e026f469ae373de3122bcc5ea7bb.zip |
Fixed bug 2292
Diffstat (limited to 'cpp/src/IceGrid/ServerCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/ServerCache.cpp | 126 |
1 files changed, 66 insertions, 60 deletions
diff --git a/cpp/src/IceGrid/ServerCache.cpp b/cpp/src/IceGrid/ServerCache.cpp index 14030eea69b..fefd0ed7ebe 100644 --- a/cpp/src/IceGrid/ServerCache.cpp +++ b/cpp/src/IceGrid/ServerCache.cpp @@ -833,41 +833,44 @@ ServerEntry::allocated(const SessionIPtr& session) _load->sessionId = session->getId(); } - Glacier2::SessionControlPrx ctl = session->getSessionControl(); - if(ctl) + if(session->useFilters()) { - ServerHelperPtr helper = createHelper(desc); - multiset<string> adapterIds; - multiset<Ice::Identity> identities; - helper->getIds(adapterIds, identities); - try + Glacier2::SessionControlPrx ctl = session->getSessionControl(); + if(ctl) { - // - // SunCC won't accept the following: - // - // ctl->adapterIds()->add(Ice::StringSeq(adapterIds.begin(), adapterIds.end())); - // ctl->identities()->add(Ice::IdentitySeq(identities.begin(), identities.end())); - // - Ice::StringSeq adapterIdSeq; - for(multiset<string>::iterator p = adapterIds.begin(); p != adapterIds.end(); ++p) + ServerHelperPtr helper = createHelper(desc); + multiset<string> adapterIds; + multiset<Ice::Identity> identities; + helper->getIds(adapterIds, identities); + try { - adapterIdSeq.push_back(*p); - } - Ice::IdentitySeq identitySeq; - for(multiset<Ice::Identity>::iterator q = identities.begin(); q != identities.end(); ++q) - { - identitySeq.push_back(*q); + // + // SunCC won't accept the following: + // + // ctl->adapterIds()->add(Ice::StringSeq(adapterIds.begin(), adapterIds.end())); + // ctl->identities()->add(Ice::IdentitySeq(identities.begin(), identities.end())); + // + Ice::StringSeq adapterIdSeq; + for(multiset<string>::iterator p = adapterIds.begin(); p != adapterIds.end(); ++p) + { + adapterIdSeq.push_back(*p); + } + Ice::IdentitySeq identitySeq; + for(multiset<Ice::Identity>::iterator q = identities.begin(); q != identities.end(); ++q) + { + identitySeq.push_back(*q); + } + ctl->adapterIds()->add(adapterIdSeq); + ctl->identities()->add(identitySeq); } - ctl->adapterIds()->add(adapterIdSeq); - ctl->identities()->add(identitySeq); - } - catch(const Ice::LocalException& ex) - { - if(traceLevels && traceLevels->server > 0) + catch(const Ice::LocalException& ex) { - Ice::Trace out(traceLevels->logger, traceLevels->serverCat); - out << "couldn't add Glacier2 filters for server `" << _id << "' allocated by `" << session->getId(); - out << ":\n" << ex; + if(traceLevels && traceLevels->server > 0) + { + Ice::Trace out(traceLevels->logger, traceLevels->serverCat); + out << "couldn't add Glacier2 filters for server `" << _id << "' allocated by `" + << session->getId() << ":\n" << ex; + } } } } @@ -920,41 +923,44 @@ ServerEntry::released(const SessionIPtr& session) TraceLevelsPtr traceLevels = _cache.getTraceLevels(); - Glacier2::SessionControlPrx ctl = session->getSessionControl(); - if(ctl) + if(session->useFilters()) { - ServerHelperPtr helper = createHelper(desc); - multiset<string> adapterIds; - multiset<Ice::Identity> identities; - helper->getIds(adapterIds, identities); - try + Glacier2::SessionControlPrx ctl = session->getSessionControl(); + if(ctl) { - // - // SunCC won't accept the following: - // - // ctl->adapterIds()->remove(Ice::StringSeq(adapterIds.begin(), adapterIds.end())); - // ctl->identities()->remove(Ice::IdentitySeq(identities.begin(), identities.end())); - // - Ice::StringSeq adapterIdSeq; - for(multiset<string>::iterator p = adapterIds.begin(); p != adapterIds.end(); ++p) + ServerHelperPtr helper = createHelper(desc); + multiset<string> adapterIds; + multiset<Ice::Identity> identities; + helper->getIds(adapterIds, identities); + try { - adapterIdSeq.push_back(*p); - } - Ice::IdentitySeq identitySeq; - for(multiset<Ice::Identity>::iterator q = identities.begin(); q != identities.end(); ++q) - { - identitySeq.push_back(*q); + // + // SunCC won't accept the following: + // + // ctl->adapterIds()->remove(Ice::StringSeq(adapterIds.begin(), adapterIds.end())); + // ctl->identities()->remove(Ice::IdentitySeq(identities.begin(), identities.end())); + // + Ice::StringSeq adapterIdSeq; + for(multiset<string>::iterator p = adapterIds.begin(); p != adapterIds.end(); ++p) + { + adapterIdSeq.push_back(*p); + } + Ice::IdentitySeq identitySeq; + for(multiset<Ice::Identity>::iterator q = identities.begin(); q != identities.end(); ++q) + { + identitySeq.push_back(*q); + } + ctl->adapterIds()->remove(adapterIdSeq); + ctl->identities()->remove(identitySeq); } - ctl->adapterIds()->remove(adapterIdSeq); - ctl->identities()->remove(identitySeq); - } - catch(const Ice::LocalException& ex) - { - if(traceLevels && traceLevels->server > 0) + catch(const Ice::LocalException& ex) { - Ice::Trace out(traceLevels->logger, traceLevels->serverCat); - out << "couldn't remove Glacier2 filters for server `" << _id << "' allocated by `"; - out << session->getId() << ":\n" << ex; + if(traceLevels && traceLevels->server > 0) + { + Ice::Trace out(traceLevels->logger, traceLevels->serverCat); + out << "couldn't remove Glacier2 filters for server `" << _id << "' allocated by `"; + out << session->getId() << ":\n" << ex; + } } } } |