summaryrefslogtreecommitdiffstats
path: root/runtime/rule.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2011-06-16 18:39:06 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2011-06-16 18:39:06 +0200
commit475eb28e551f1b12ebde3b2f2ddb2c33403f192c (patch)
tree247b9f1beab50d0355be1151b4e45d6da3260333 /runtime/rule.c
parentc561994c108627c490729d98d671c45b4f9684e5 (diff)
parentb3dae5cff321e066bacc5e03846c77f832004006 (diff)
downloadrsyslog-475eb28e551f1b12ebde3b2f2ddb2c33403f192c.tar.gz
rsyslog-475eb28e551f1b12ebde3b2f2ddb2c33403f192c.tar.xz
rsyslog-475eb28e551f1b12ebde3b2f2ddb2c33403f192c.zip
Merge branch 'v5-stable' into v5-devel
Conflicts: runtime/rsyslog.h
Diffstat (limited to 'runtime/rule.c')
-rw-r--r--runtime/rule.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/runtime/rule.c b/runtime/rule.c
index d5f18e71..19239d61 100644
--- a/runtime/rule.c
+++ b/runtime/rule.c
@@ -266,6 +266,7 @@ static rsRetVal
processBatch(rule_t *pThis, batch_t *pBatch)
{
int i;
+ rsRetVal localRet;
DEFiRet;
ISOBJ_TYPE_assert(pThis, rule);
@@ -273,9 +274,14 @@ processBatch(rule_t *pThis, batch_t *pBatch)
/* first check the filters and reset status variables */
for(i = 0 ; i < batchNumMsgs(pBatch) && !*(pBatch->pbShutdownImmediate) ; ++i) {
- CHKiRet(shouldProcessThisMessage(pThis, (msg_t*)(pBatch->pElem[i].pUsrp),
- &(pBatch->pElem[i].bFilterOK)));
- // TODO: really abort on error? 2010-06-10
+ localRet = shouldProcessThisMessage(pThis, (msg_t*)(pBatch->pElem[i].pUsrp),
+ &(pBatch->pElem[i].bFilterOK));
+ if(localRet != RS_RET_OK) {
+ DBGPRINTF("processBatch: iRet %d returned from shouldProcessThisMessage, "
+ "ignoring message\n", localRet);
+
+ pBatch->pElem[i].bFilterOK = 0;
+ }
if(pBatch->pElem[i].bFilterOK) {
/* re-init only when actually needed (cache write cost!) */
pBatch->pElem[i].bPrevWasSuspended = 0;