mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-23 13:45:04 +02:00
New event queue: handle empty filter
This commit is contained in:
parent
94db282fd1
commit
5e8b4280bc
@ -145,7 +145,7 @@ EventQueueRegistry *EventQueueRegistry::GetInstance()
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::mutex EventsInbox::m_FiltersMutex;
|
std::mutex EventsInbox::m_FiltersMutex;
|
||||||
std::map<String, EventsInbox::Filter> EventsInbox::m_Filters;
|
std::map<String, EventsInbox::Filter> EventsInbox::m_Filters ({{"", EventsInbox::Filter{1, nullptr}}});
|
||||||
|
|
||||||
EventsRouter EventsRouter::m_Instance;
|
EventsRouter EventsRouter::m_Instance;
|
||||||
|
|
||||||
@ -262,17 +262,19 @@ EventsFilter::operator bool()
|
|||||||
void EventsFilter::Push(Dictionary::Ptr event)
|
void EventsFilter::Push(Dictionary::Ptr event)
|
||||||
{
|
{
|
||||||
for (auto& perFilter : m_Inboxes) {
|
for (auto& perFilter : m_Inboxes) {
|
||||||
ScriptFrame frame(true);
|
if (perFilter.first) {
|
||||||
frame.Sandboxed = true;
|
ScriptFrame frame(true);
|
||||||
|
frame.Sandboxed = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!FilterUtility::EvaluateFilter(frame, perFilter.first.get(), event, "event")) {
|
if (!FilterUtility::EvaluateFilter(frame, perFilter.first.get(), event, "event")) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} catch (const std::exception& ex) {
|
||||||
|
Log(LogWarning, "EventQueue")
|
||||||
|
<< "Error occurred while evaluating event filter for queue: " << DiagnosticInformation(ex);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} catch (const std::exception& ex) {
|
|
||||||
Log(LogWarning, "EventQueue")
|
|
||||||
<< "Error occurred while evaluating event filter for queue: " << DiagnosticInformation(ex);
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& inbox : perFilter.second) {
|
for (auto& inbox : perFilter.second) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user