diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2011-06-16 18:39:06 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2011-06-16 18:39:06 +0200 |
commit | 475eb28e551f1b12ebde3b2f2ddb2c33403f192c (patch) | |
tree | 247b9f1beab50d0355be1151b4e45d6da3260333 /runtime/rule.c | |
parent | c561994c108627c490729d98d671c45b4f9684e5 (diff) | |
parent | b3dae5cff321e066bacc5e03846c77f832004006 (diff) | |
download | rsyslog-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.c | 12 |
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; |