From 559cb84a79a9848ce1415569158928478991108c Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Thu, 10 Jun 2010 10:17:04 +0200 Subject: fixing msg duplication & loss regression, causes slowdown messages could get lost or be duplicated due to non-proper sync of transactions. This is a notable slowdown again, but we know how to get back concurrency, it just takes "some" more programming. It is important now to come back to correct code, so that we can base further improvements on that. --- action.c | 12 ++++++------ runtime/parser.c | 2 +- tools/omfile.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/action.c b/action.c index b055ebf4..0e42b880 100644 --- a/action.c +++ b/action.c @@ -765,10 +765,10 @@ actionCallDoAction(action_t *pThis, msg_t *pMsg) pThis->bHadAutoCommit = 0; #if 1 -d_pthread_mutex_lock(&pThis->mutActExec); -pthread_cleanup_push(mutexCancelCleanup, &pThis->mutActExec); +//d_pthread_mutex_lock(&pThis->mutActExec); +//pthread_cleanup_push(mutexCancelCleanup, &pThis->mutActExec); iRet = pThis->pMod->mod.om.doAction(ppMsgs, pMsg->msgFlags, pThis->pModData); -pthread_cleanup_pop(1); /* unlock mutex */ +//pthread_cleanup_pop(1); /* unlock mutex */ //iRet = pThis->pMod->mod.om.doAction(pThis->ppMsgs, pMsg->msgFlags, pThis->pModData); #else iRet = RS_RET_OK; @@ -1051,12 +1051,12 @@ processBatchMain(action_t *pAction, batch_t *pBatch, int *pbShutdownImmediate) * if they notify us they are - functionality not yet implemented...). * rgerhards, 2008-01-30 */ -// d_pthread_mutex_lock(&pAction->mutActExec); -// pthread_cleanup_push(mutexCancelCleanup, &pAction->mutActExec); + d_pthread_mutex_lock(&pAction->mutActExec); + pthread_cleanup_push(mutexCancelCleanup, &pAction->mutActExec); iRet = processAction(pAction, pBatch, pbShutdownImmediate); -// pthread_cleanup_pop(1); /* unlock mutex */ + pthread_cleanup_pop(1); /* unlock mutex */ RETiRet; } diff --git a/runtime/parser.c b/runtime/parser.c index bd0bf8e9..40374ae1 100644 --- a/runtime/parser.c +++ b/runtime/parser.c @@ -489,7 +489,7 @@ ParseMsg(msg_t *pMsg) /* we take the risk to print a non-sanitized string, because this is the best we can get * (and that functionality is too important for debugging to drop it...). */ - DBGPRINTF("msg parser: flags %x, from '%s', msg '%.50s'\n", pMsg->msgFlags, + DBGPRINTF("msg parser: flags %x, from '%s', msg '%.60s'\n", pMsg->msgFlags, (pMsg->msgFlags & NEEDS_DNSRESOL) ? UCHAR_CONSTANT("~NOTRESOLVED~") : getRcvFrom(pMsg), pMsg->pszRawMsg); diff --git a/tools/omfile.c b/tools/omfile.c index 92089a59..188b651b 100644 --- a/tools/omfile.c +++ b/tools/omfile.c @@ -614,7 +614,7 @@ doWrite(instanceData *pData, uchar *pszBuf, int lenBuf) ASSERT(pData != NULL); ASSERT(pszBuf != NULL); -dbgprintf("doWrite, pData->pStrm %p, lenBuf %d\n", pData->pStrm, lenBuf); +dbgprintf("write to stream, pData->pStrm %p, lenBuf %d\n", pData->pStrm, lenBuf); if(pData->pStrm != NULL){ CHKiRet(strm.Write(pData->pStrm, pszBuf, lenBuf)); FINALIZE; -- cgit