From 50abcd483b422e3e4f0b67a925fa8cdf71936f12 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 12 Sep 2012 09:50:22 +0200 Subject: new ruleengine: bugfix, messages were processed multiple times --- runtime/ruleset.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'runtime/ruleset.c') diff --git a/runtime/ruleset.c b/runtime/ruleset.c index 74f078b6..7b53fe3b 100644 --- a/runtime/ruleset.c +++ b/runtime/ruleset.c @@ -149,9 +149,6 @@ finalize_it: * contains rules from multiple rulesets. In this case, we can not push * the whole batch through the ruleset. Instead, we examine it and * partition it into sub-rulesets which we then push through the system. - * Note that when we evaluate which message must be processed, we do NOT need - * to look at bFilterOK, because this value is only set in a later processing - * stage. Doing so caused a bug during development ;) * rgerhards, 2010-06-15 */ static inline rsRetVal @@ -217,13 +214,8 @@ execAct(struct cnfstmt *stmt, batch_t *pBatch, sbool *active) int i; DEFiRet; dbgprintf("RRRR: execAct: batch of %d elements, active %p\n", batchNumMsgs(pBatch), active); - for(i = 0 ; i < batchNumMsgs(pBatch) && !*(pBatch->pbShutdownImmediate) ; ++i) { - if( pBatch->pElem[i].state != BATCH_STATE_DISC - && (active == NULL || active[i])) { - DBGPRINTF("Processing next action [active=%p]\n", active); - stmt->d.act->submitToActQ(stmt->d.act, pBatch); - } - } + pBatch->active = active; + stmt->d.act->submitToActQ(stmt->d.act, pBatch); RETiRet; } -- cgit v1.2.3