From baa9404432960ed97e526199398472975dcfcc63 Mon Sep 17 00:00:00 2001 From: EricLiu2000 Date: Thu, 27 Jun 2019 16:02:31 -0400 Subject: [PATCH] Went back to normal mutex because I forgot I reverted those --- api/icsneocpp/eventmanager.cpp | 6 +++--- include/icsneo/api/eventmanager.h | 14 ++++++-------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/api/icsneocpp/eventmanager.cpp b/api/icsneocpp/eventmanager.cpp index c2c2c60..928b7f8 100644 --- a/api/icsneocpp/eventmanager.cpp +++ b/api/icsneocpp/eventmanager.cpp @@ -16,7 +16,7 @@ void EventManager::ResetInstance() { } void EventManager::get(std::vector& eventOutput, size_t max, EventFilter filter) { - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); if(max == 0) // A limit of 0 indicates no limit max = (size_t)-1; @@ -41,7 +41,7 @@ void EventManager::get(std::vector& eventOutput, size_t max, EventFilt * If no error was found, return a NoErrorFound Info event */ APIEvent EventManager::getLastError() { - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); auto it = lastUserErrors.find(std::this_thread::get_id()); if(it == lastUserErrors.end()) { @@ -54,7 +54,7 @@ APIEvent EventManager::getLastError() { } void EventManager::discard(EventFilter filter) { - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); events.remove_if([&filter](const APIEvent& event) { return filter.match(event); }); diff --git a/include/icsneo/api/eventmanager.h b/include/icsneo/api/eventmanager.h index e060172..73170cd 100644 --- a/include/icsneo/api/eventmanager.h +++ b/include/icsneo/api/eventmanager.h @@ -4,9 +4,7 @@ #include #include #include -#include #include -#include #include #include #include "icsneo/api/event.h" @@ -22,7 +20,7 @@ public: static void ResetInstance(); size_t eventCount(EventFilter filter = EventFilter()) const { - std::shared_lock lk(mutex); + std::lock_guard lk(mutex); return count_internal(filter); }; @@ -38,11 +36,11 @@ public: APIEvent getLastError(); void add(APIEvent event) { - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); add_internal(event); } void add(APIEvent::Type type, APIEvent::Severity severity, const Device* forDevice = nullptr) { - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); add_internal(APIEvent(type, severity, forDevice)); } @@ -57,14 +55,14 @@ public: return; } - std::unique_lock lk(mutex); + std::lock_guard lk(mutex); eventLimit = newLimit; if(enforceLimit()) add_internal(APIEvent(APIEvent::Type::TooManyEvents, APIEvent::Severity::EventWarning)); } size_t getEventLimit() const { - std::shared_lock lk(mutex); + std::lock_guard lk(mutex); return eventLimit; } @@ -74,7 +72,7 @@ private: EventManager& operator=(const EventManager &other); // Used by functions for threadsafety - mutable std::shared_mutex mutex; + mutable std::mutex mutex; // Stores all events std::list events;