diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-06-13 07:23:00 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-06-13 07:23:00 +0000 |
commit | 5951e80da6cf279e6398b216f27966d67758ae0e (patch) | |
tree | 93af3e6a6c779c847bbb4672898c123d0bb87ee4 /cpp/src/IceGrid/AllocatableObjectCache.cpp | |
parent | Improved deprecation messages to mention operation name of deprecated (diff) | |
download | ice-5951e80da6cf279e6398b216f27966d67758ae0e.tar.bz2 ice-5951e80da6cf279e6398b216f27966d67758ae0e.tar.xz ice-5951e80da6cf279e6398b216f27966d67758ae0e.zip |
Fixed allocation bug
Diffstat (limited to 'cpp/src/IceGrid/AllocatableObjectCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/AllocatableObjectCache.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/AllocatableObjectCache.cpp b/cpp/src/IceGrid/AllocatableObjectCache.cpp index 9315725edf0..5797c06017f 100644 --- a/cpp/src/IceGrid/AllocatableObjectCache.cpp +++ b/cpp/src/IceGrid/AllocatableObjectCache.cpp @@ -286,8 +286,14 @@ AllocatableObjectEntry::allocated(const SessionIPtr& session) seq.push_back(_info.proxy->ice_getIdentity()); ctl->identities()->add(seq); } - catch(const Ice::ObjectNotExistException&) + catch(const Ice::LocalException& ex) { + if(traceLevels && traceLevels->object > 0) + { + Ice::Trace out(traceLevels->logger, traceLevels->objectCat); + out << "couldn't add Glacier2 filter for object `" << _info.proxy->ice_toString(); + out << "' allocated by `" << session->getId() << "':\n" << ex; + } } } } @@ -300,6 +306,8 @@ AllocatableObjectEntry::released(const SessionIPtr& session) // session->removeAllocation(this); + TraceLevelsPtr traceLevels = _cache.getTraceLevels(); + Glacier2::SessionControlPrx ctl = session->getSessionControl(); if(ctl) { @@ -309,12 +317,17 @@ AllocatableObjectEntry::released(const SessionIPtr& session) seq.push_back(_info.proxy->ice_getIdentity()); ctl->identities()->remove(seq); } - catch(const Ice::ObjectNotExistException&) + catch(const Ice::LocalException& ex) { + if(traceLevels && traceLevels->object > 0) + { + Ice::Trace out(traceLevels->logger, traceLevels->objectCat); + out << "couldn't remove Glacier2 filter for object `" << _info.proxy->ice_toString(); + out << "' allocated by `" << session->getId() << "':\n" << ex; + } } } - TraceLevelsPtr traceLevels = _cache.getTraceLevels(); if(traceLevels && traceLevels->object > 1) { Ice::Trace out(traceLevels->logger, traceLevels->objectCat); |