diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/Instance.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp index 479deee7c52..a83e64ede65 100644 --- a/cpp/src/Ice/Instance.cpp +++ b/cpp/src/Ice/Instance.cpp @@ -225,17 +225,13 @@ private: void Timer::updateObserver(const Ice::Instrumentation::CommunicatorObserverPtr& obsv) { - bool hasObserver = false; - { - IceUtil::Mutex::Lock sync(_mutex); - assert(obsv); - _observer.attach(obsv->getThreadObserver("Communicator", - "Ice.Timer", - Ice::Instrumentation::ThreadStateIdle, - _observer.get())); - hasObserver = _observer.get(); - } - _hasObserver.exchange(hasObserver ? 1 : 0); + IceUtil::Mutex::Lock sync(_mutex); + assert(obsv); + _observer.attach(obsv->getThreadObserver("Communicator", + "Ice.Timer", + Ice::Instrumentation::ThreadStateIdle, + _observer.get())); + _hasObserver.exchange(_observer.get()); } void |