Mercurial > hg > orthanc-stone
diff Framework/Messages/LockingEmitter.h @ 1074:229ea1389845 broker
LockingEmitter.cpp
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 17 Oct 2019 13:48:52 +0200 |
parents | e713f1a99861 |
children | 81b29bc7c3d4 |
line wrap: on
line diff
--- a/Framework/Messages/LockingEmitter.h Thu Oct 17 11:27:51 2019 +0200 +++ b/Framework/Messages/LockingEmitter.h Thu Oct 17 13:48:52 2019 +0200 @@ -23,7 +23,9 @@ #include "IMessageEmitter.h" #include "IObservable.h" -#include <boost/thread.hpp> +#include <Core/Enumerations.h> // For ORTHANC_OVERRIDE + +#include <boost/thread/shared_mutex.hpp> namespace OrthancStone { @@ -43,19 +45,8 @@ IObservable oracleObservable_; public: - virtual void EmitMessage(const IObserver& observer, - const IMessage& message) ORTHANC_OVERRIDE - { - try - { - boost::unique_lock<boost::shared_mutex> lock(mutex_); - oracleObservable_.EmitMessage(observer, message); - } - catch (Orthanc::OrthancException& e) - { - LOG(ERROR) << "Exception while emitting a message: " << e.What(); - } - } + virtual void EmitMessage(IObserver& observer, + const IMessage& message) ORTHANC_OVERRIDE; class ReaderLock : public boost::noncopyable @@ -66,8 +57,8 @@ public: ReaderLock(LockingEmitter& that) : - that_(that), - lock_(that.mutex_) + that_(that), + lock_(that.mutex_) { } }; @@ -81,8 +72,8 @@ public: WriterLock(LockingEmitter& that) : - that_(that), - lock_(that.mutex_) + that_(that), + lock_(that.mutex_) { }