summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/GC.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-08-06 09:56:04 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-08-06 09:56:04 +0200
commitc1e8bda5abc33ae40e3603c1a3fb6ba8645780a0 (patch)
treecf400743403ef2703a24b5044ab49c5e2385baf5 /cpp/src/Ice/GC.cpp
parentFixes (diff)
downloadice-c1e8bda5abc33ae40e3603c1a3fb6ba8645780a0.tar.bz2
ice-c1e8bda5abc33ae40e3603c1a3fb6ba8645780a0.tar.xz
ice-c1e8bda5abc33ae40e3603c1a3fb6ba8645780a0.zip
Updates
Diffstat (limited to 'cpp/src/Ice/GC.cpp')
-rw-r--r--cpp/src/Ice/GC.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/cpp/src/Ice/GC.cpp b/cpp/src/Ice/GC.cpp
index 90249d1aad1..a116cddeff8 100644
--- a/cpp/src/Ice/GC.cpp
+++ b/cpp/src/Ice/GC.cpp
@@ -189,15 +189,15 @@ IceInternal::GC::run()
{
collect = true;
}
- observer = _observer;
+ observer = _observer.get();
}
if(collect)
{
if(observer)
{
- observer->stateChanged(ThreadStateIdle, ThreadStateInUseForMisc);
+ observer->stateChanged(ThreadStateIdle, ThreadStateInUseForOther);
collectGarbage();
- observer->stateChanged(ThreadStateInUseForMisc, ThreadStateIdle);
+ observer->stateChanged(ThreadStateInUseForOther, ThreadStateIdle);
}
else
{
@@ -206,10 +206,7 @@ IceInternal::GC::run()
}
}
- if(_observer)
- {
- _observer->detach();
- }
+ _observer.detach();
}
void
@@ -397,9 +394,5 @@ IceInternal::GC::updateObserver(const ObserverResolverPtr& resolver)
{
Monitor<Mutex>::Lock sync(*this);
assert(resolver);
- _observer = resolver->getThreadObserver("Communicator", name(), ThreadStateIdle, _observer);
- if(_observer)
- {
- _observer->attach();
- }
+ _observer.attach(resolver->getThreadObserver("Communicator", name(), ThreadStateIdle, _observer.get()));
}