summaryrefslogtreecommitdiffstats
path: root/runtime/ruleset.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-11-02 17:43:24 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2013-11-02 17:43:24 +0100
commitd200ef2d8b3c4cd5f1f19b94fcec614c9494f28a (patch)
tree85249cda1290999df847e7f0bd8066117657d6cc /runtime/ruleset.c
parent8878a0b1cf11f417fb3f72ec5bc7fe13ddabd624 (diff)
downloadrsyslog-d200ef2d8b3c4cd5f1f19b94fcec614c9494f28a.tar.gz
rsyslog-d200ef2d8b3c4cd5f1f19b94fcec614c9494f28a.tar.bz2
rsyslog-d200ef2d8b3c4cd5f1f19b94fcec614c9494f28a.zip
temporarily remove bExecWhenPrevWasSuspended handling
also add comments on howto re-implement it inside the script engine (but we do not do this right now as we would like to do this together when we touch the script engine -- for now focussing on action handling).
Diffstat (limited to 'runtime/ruleset.c')
-rw-r--r--runtime/ruleset.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/runtime/ruleset.c b/runtime/ruleset.c
index db253d28..6cc98105 100644
--- a/runtime/ruleset.c
+++ b/runtime/ruleset.c
@@ -231,7 +231,23 @@ execAct(struct cnfstmt *stmt, batch_t *pBatch, sbool *active, wti_t *pWti)
DEFiRet;
dbgprintf("RRRR: execAct [%s]: batch of %d elements, active %p\n", modGetName(stmt->d.act->pMod), batchNumMsgs(pBatch), active);
pBatch->active = active;
+// TODO: check here if bPrevWasSuspsended was required and, if so
+// if we actually are permitted to execute this action.
+ //if(pAction->bExecWhenPrevSusp) {
stmt->d.act->submitToActQ(stmt->d.act, pBatch, pWti);
+#warning implement action return code checking
+// we should store the return code and make it available
+// to users via a special function (or maybe variable)
+// internally, we can use this for bPrevWasSuspended checking
+// to implement this system, we need to keep a kind of
+// "execution state" when running the rule engine. This most
+// probably is best done inside the wti object.
+// I think in v7 there was a bug, so that bPrevWasSuspended did
+// not properly make it onto the next batch (because it was
+// stored within the batch state) -- but even if so, the
+// exposure window was minimal, as the action would probably
+// fail the next time again. [TODO: check if batch object survived
+// end of batch, in which case it was probably correctly handled]
RETiRet;
}