diff options
| author | 2019-10-05 21:10:01 -0400 | |
|---|---|---|
| committer | 2019-10-05 21:10:01 -0400 | |
| commit | dff8b887edf10407f22aaab9d147948cd5491f0a (patch) | |
| tree | 14456ec6e2161ab1146e0bd9a2c9063fd56f87b4 /src/lib/base | |
| parent | 81b2a927d50def6c2643db51394a170593d1db85 (diff) | |
New upstream version 2.3.2+dfsgupstream/2.3.2+dfsg
Diffstat (limited to 'src/lib/base')
| -rw-r--r-- | src/lib/base/EventQueue.cpp | 24 | ||||
| -rw-r--r-- | src/lib/base/EventQueue.h | 5 | ||||
| -rw-r--r-- | src/lib/base/Log.cpp | 16 | ||||
| -rw-r--r-- | src/lib/base/Log.h | 3 |
4 files changed, 21 insertions, 27 deletions
diff --git a/src/lib/base/EventQueue.cpp b/src/lib/base/EventQueue.cpp index b17e35b..fe8cff5 100644 --- a/src/lib/base/EventQueue.cpp +++ b/src/lib/base/EventQueue.cpp @@ -90,7 +90,6 @@ EventQueue::EventQueue() : m_readyMutex(new Mutex), m_readyCondVar(new CondVar<bool>(m_readyMutex, false)) { - m_mutex = ARCH->newMutex(); ARCH->setSignalHandler(Arch::kINTERRUPT, &interrupt, this); ARCH->setSignalHandler(Arch::kTERMINATE, &interrupt, this); m_buffer = new SimpleEventQueueBuffer; @@ -104,7 +103,6 @@ EventQueue::~EventQueue() ARCH->setSignalHandler(Arch::kINTERRUPT, NULL, NULL); ARCH->setSignalHandler(Arch::kTERMINATE, NULL, NULL); - ARCH->closeMutex(m_mutex); } void @@ -136,7 +134,7 @@ EventQueue::loop() Event::Type EventQueue::registerTypeOnce(Event::Type& type, const char* name) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); if (type == Event::kUnknown) { m_typeMap.insert(std::make_pair(m_nextType, name)); m_nameMap.insert(std::make_pair(name, m_nextType)); @@ -176,7 +174,7 @@ EventQueue::getTypeName(Event::Type type) void EventQueue::adoptBuffer(IEventQueueBuffer* buffer) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); LOG((CLOG_DEBUG "adopting new buffer")); @@ -261,7 +259,7 @@ retry: case IEventQueueBuffer::kUser: { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); event = removeEvent(dataID); return true; } @@ -316,7 +314,7 @@ EventQueue::addEvent(const Event& event) void EventQueue::addEventToBuffer(const Event& event) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); // store the event's data locally UInt32 eventID = saveEvent(event); @@ -338,7 +336,7 @@ EventQueue::newTimer(double duration, void* target) if (target == NULL) { target = timer; } - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); m_timers.insert(timer); // initial duration is requested duration plus whatever's on // the clock currently because the latter will be subtracted @@ -357,7 +355,7 @@ EventQueue::newOneShotTimer(double duration, void* target) if (target == NULL) { target = timer; } - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); m_timers.insert(timer); // initial duration is requested duration plus whatever's on // the clock currently because the latter will be subtracted @@ -370,7 +368,7 @@ EventQueue::newOneShotTimer(double duration, void* target) void EventQueue::deleteTimer(EventQueueTimer* timer) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); for (TimerQueue::iterator index = m_timerQueue.begin(); index != m_timerQueue.end(); ++index) { if (index->getTimer() == timer) { @@ -388,7 +386,7 @@ EventQueue::deleteTimer(EventQueueTimer* timer) void EventQueue::adoptHandler(Event::Type type, void* target, IEventJob* handler) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); IEventJob*& job = m_handlers[target][type]; delete job; job = handler; @@ -399,7 +397,7 @@ EventQueue::removeHandler(Event::Type type, void* target) { IEventJob* handler = NULL; { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); HandlerTable::iterator index = m_handlers.find(target); if (index != m_handlers.end()) { TypeHandlerTable& typeHandlers = index->second; @@ -418,7 +416,7 @@ EventQueue::removeHandlers(void* target) { std::vector<IEventJob*> handlers; { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); HandlerTable::iterator index = m_handlers.find(target); if (index != m_handlers.end()) { // copy to handlers array and clear table for target @@ -447,7 +445,7 @@ EventQueue::isEmpty() const IEventJob* EventQueue::getHandler(Event::Type type, void* target) const { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); HandlerTable::const_iterator index = m_handlers.find(target); if (index != m_handlers.end()) { const TypeHandlerTable& typeHandlers = index->second; diff --git a/src/lib/base/EventQueue.h b/src/lib/base/EventQueue.h index 97e7fba..0a2179b 100644 --- a/src/lib/base/EventQueue.h +++ b/src/lib/base/EventQueue.h @@ -28,10 +28,9 @@ #include "common/stdset.h" #include "base/NonBlockingStream.h" +#include <mutex> #include <queue> -class Mutex; - //! Event queue /*! An event queue that implements the platform independent parts and @@ -114,7 +113,7 @@ private: typedef std::map<void*, TypeHandlerTable> HandlerTable; int m_systemTarget; - ArchMutex m_mutex; + mutable std::mutex m_mutex; // registered events Event::Type m_nextType; diff --git a/src/lib/base/Log.cpp b/src/lib/base/Log.cpp index 823bf6d..1252ed9 100644 --- a/src/lib/base/Log.cpp +++ b/src/lib/base/Log.cpp @@ -63,9 +63,6 @@ Log::Log() { assert(s_log == NULL); - // create mutex for multithread safe operation - m_mutex = ARCH->newMutex(); - // other initalization m_maxPriority = g_defaultMaxPriority; m_maxNewlineLength = 0; @@ -90,7 +87,6 @@ Log::~Log() index != m_alwaysOutputters.end(); ++index) { delete *index; } - ARCH->closeMutex(m_mutex); } Log* @@ -214,7 +210,7 @@ Log::insert(ILogOutputter* outputter, bool alwaysAtHead) { assert(outputter != NULL); - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); if (alwaysAtHead) { m_alwaysOutputters.push_front(outputter); } @@ -237,7 +233,7 @@ Log::insert(ILogOutputter* outputter, bool alwaysAtHead) void Log::remove(ILogOutputter* outputter) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); m_outputters.remove(outputter); m_alwaysOutputters.remove(outputter); } @@ -245,7 +241,7 @@ Log::remove(ILogOutputter* outputter) void Log::pop_front(bool alwaysAtHead) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); OutputterList* list = alwaysAtHead ? &m_alwaysOutputters : &m_outputters; if (!list->empty()) { delete list->front(); @@ -271,14 +267,14 @@ Log::setFilter(const char* maxPriority) void Log::setFilter(int maxPriority) { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); m_maxPriority = maxPriority; } int Log::getFilter() const { - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); return m_maxPriority; } @@ -289,7 +285,7 @@ Log::output(ELevel priority, char* msg) assert(msg != NULL); if (!msg) return; - ArchMutexLock lock(m_mutex); + std::lock_guard<std::mutex> lock(m_mutex); OutputterList::const_iterator i; diff --git a/src/lib/base/Log.h b/src/lib/base/Log.h index 1d09be2..0ed458f 100644 --- a/src/lib/base/Log.h +++ b/src/lib/base/Log.h @@ -24,6 +24,7 @@ #include "common/stdlist.h" #include <stdarg.h> +#include <mutex> #define CLOG (Log::getInstance()) #define BYE "\nTry `%s --help' for more information." @@ -132,7 +133,7 @@ private: static Log* s_log; - ArchMutex m_mutex; + mutable std::mutex m_mutex; OutputterList m_outputters; OutputterList m_alwaysOutputters; int m_maxNewlineLength; |
