summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-11-04 10:17:01 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2013-11-04 10:17:01 +0100
commit38ce3ef3a5866dfc28e3b1d8c694d52b17baf236 (patch)
treed3edf8b744a6e734ec77246c1bbc2aaffa2a3d8e
parent6b8755be225874e57f92df4e30e452ac340cc428 (diff)
downloadrsyslog-38ce3ef3a5866dfc28e3b1d8c694d52b17baf236.tar.gz
rsyslog-38ce3ef3a5866dfc28e3b1d8c694d52b17baf236.tar.bz2
rsyslog-38ce3ef3a5866dfc28e3b1d8c694d52b17baf236.zip
fix tryResume callback
-rw-r--r--action.c10
-rw-r--r--tools/omfwd.c3
2 files changed, 8 insertions, 5 deletions
diff --git a/action.c b/action.c
index aa9346dd..61918884 100644
--- a/action.c
+++ b/action.c
@@ -633,7 +633,7 @@ static inline void actionSuspend(action_t *pThis)
* of its inability to recover. -- rgerhards, 2010-04-26.
*/
static inline rsRetVal
-actionDoRetry(action_t *pThis, int *pbShutdownImmediate)
+actionDoRetry(action_t *pThis, int *pbShutdownImmediate, wti_t *pWti)
{
int iRetries;
int iSleepPeriod;
@@ -645,7 +645,7 @@ actionDoRetry(action_t *pThis, int *pbShutdownImmediate)
iRetries = 0;
while((*pbShutdownImmediate == 0) && pThis->eState == ACT_STATE_RTRY) {
DBGPRINTF("actionDoRetry: enter loop, iRetries=%d\n", iRetries);
- iRet = pThis->pMod->tryResume(pThis->pModData);
+ iRet = pThis->pMod->tryResume(pWti->actWrkrInfo[pThis->iActionNbr].actWrkrData);
DBGPRINTF("actionDoRetry: action->tryResume returned %d\n", iRet);
if((pThis->iResumeOKinRow > 9) && (pThis->iResumeOKinRow % 10 == 0)) {
bTreatOKasSusp = 1;
@@ -704,7 +704,7 @@ finalize_it:
/* try to resume an action -- rgerhards, 2007-08-02
* changed to new action state engine -- rgerhards, 2009-05-07
*/
-static rsRetVal actionTryResume(action_t *pThis, int *pbShutdownImmediate)
+static rsRetVal actionTryResume(action_t *pThis, int *pbShutdownImmediate, wti_t *pWti)
{
DEFiRet;
time_t ttNow = NO_TIME_PROVIDED;
@@ -728,7 +728,7 @@ static rsRetVal actionTryResume(action_t *pThis, int *pbShutdownImmediate)
if(pThis->eState == ACT_STATE_RTRY) {
if(ttNow == NO_TIME_PROVIDED) /* use cached result if we have it */
datetime.GetTime(&ttNow);
- CHKiRet(actionDoRetry(pThis, pbShutdownImmediate));
+ CHKiRet(actionDoRetry(pThis, pbShutdownImmediate, pWti));
}
if(Debug && (pThis->eState == ACT_STATE_RTRY ||pThis->eState == ACT_STATE_SUSP)) {
@@ -751,7 +751,7 @@ static inline rsRetVal actionPrepare(action_t *pThis, int *pbShutdownImmediate,
assert(pThis != NULL);
CHKiRet(actionCheckAndCreateWrkrInstance(pThis, pWti));
- CHKiRet(actionTryResume(pThis, pbShutdownImmediate));
+ CHKiRet(actionTryResume(pThis, pbShutdownImmediate, pWti));
/* if we are now ready, we initialize the transaction and advance
* action state accordingly
diff --git a/tools/omfwd.c b/tools/omfwd.c
index 01702043..ed0898c9 100644
--- a/tools/omfwd.c
+++ b/tools/omfwd.c
@@ -341,6 +341,7 @@ ENDcreateInstance
BEGINcreateWrkrInstance
CODESTARTcreateWrkrInstance
+ dbgprintf("DDDD: createWrkrInstance: pWrkrData %p\n", pWrkrData);
ENDcreateWrkrInstance
@@ -734,6 +735,7 @@ finalize_it:
BEGINtryResume
CODESTARTtryResume
+ dbgprintf("DDDD: tryResume: pWrkrData %p\n", pWrkrData);
iRet = doTryResume(pWrkrData->pData);
ENDtryResume
@@ -753,6 +755,7 @@ BEGINdoAction
# endif
instanceData *pData;
CODESTARTdoAction
+ dbgprintf("DDDD: doAction: pWrkrData %p\n", pWrkrData);
pData = pWrkrData->pData;
CHKiRet(doTryResume(pData));