Error downgrading now uses a map<threadid, bool>, and error downgrading is canceled during message callbacks

This commit is contained in:
EricLiu2000
2019-07-29 15:16:35 -04:00
parent ff1e65b292
commit 54b98ec9b4
3 changed files with 19 additions and 5 deletions
+13 -2
View File
@@ -15,12 +15,23 @@ void EventManager::ResetInstance() {
singleton = std::unique_ptr<EventManager>(new EventManager());
}
// If this thread is not in the map, add it to be ignored
// If it is, set it to be ignored
void EventManager::downgradeErrorsOnCurrentThread() {
downgradedThreads.insert(std::this_thread::get_id());
auto i = downgradedThreads.find(std::this_thread::get_id());
if(i != downgradedThreads.end()) {
i->second = true;
} else {
downgradedThreads.insert({std::this_thread::get_id(), true});
}
}
// If this thread exists in the map, turn off downgrading
void EventManager::cancelErrorDowngradingOnCurrentThread() {
downgradedThreads.erase(std::this_thread::get_id());
auto i = downgradedThreads.find(std::this_thread::get_id());
if(i != downgradedThreads.end()) {
i->second = false;
}
}
void EventManager::get(std::vector<APIEvent>& eventOutput, size_t max, EventFilter filter) {