summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AllocatableObjectCache.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-06-13 07:23:00 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-06-13 07:23:00 +0000
commit5951e80da6cf279e6398b216f27966d67758ae0e (patch)
tree93af3e6a6c779c847bbb4672898c123d0bb87ee4 /cpp/src/IceGrid/AllocatableObjectCache.cpp
parentImproved deprecation messages to mention operation name of deprecated (diff)
downloadice-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.cpp19
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);