From 38ce3ef3a5866dfc28e3b1d8c694d52b17baf236 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Mon, 4 Nov 2013 10:17:01 +0100 Subject: fix tryResume callback --- action.c | 10 +++++----- tools/omfwd.c | 3 +++ 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)); -- cgit v1.2.3