diff options
author | sledz <sledz@ba11ecae-741b-462f-8724-1218f99f5906> | 2010-07-30 15:55:39 +0000 |
---|---|---|
committer | Steffen Sledz <sledz@dresearch.de> | 2010-08-03 07:57:50 +0200 |
commit | 4946a4b375b9a8243db4f9d4b27bc5820f2e0395 (patch) | |
tree | f410c71730ecafef38219b6b5e829d1ff875e2a9 /recipes/rsyslog/files | |
parent | a93982c1a465fa53d49b14bb4ee46518fd6acb04 (diff) |
rsyslog: break potential infinite loop in actionDoRetry
If a module always returns RS_RET_OK (like ompipe does) the actionDoRetry
loop may not have leaved faked ACT_STATE_SUSP state in case iResumeOKinRow
had ever reached a count of 1000.
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
Diffstat (limited to 'recipes/rsyslog/files')
-rw-r--r-- | recipes/rsyslog/files/rsyslog-resume.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/recipes/rsyslog/files/rsyslog-resume.patch b/recipes/rsyslog/files/rsyslog-resume.patch new file mode 100644 index 0000000000..73ed1012c7 --- /dev/null +++ b/recipes/rsyslog/files/rsyslog-resume.patch @@ -0,0 +1,29 @@ +From 467f10a13950b4b8d5a9fff7f14c20874777a4ba Mon Sep 17 00:00:00 2001 +From: Steffen Sledz <sledz@dresearch.de> +Date: Fri, 30 Jul 2010 14:39:53 +0200 +Subject: [PATCH] break potential infinite loop in actionDoRetry + +If a module always returns RS_RET_OK (like ompipe does) the actionDoRetry +loop may not have leaved faked ACT_STATE_SUSP state in case iResumeOKinRow +had ever reached a count of 1000. + +Signed-off-by: Steffen Sledz <sledz@dresearch.de> +--- + action.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/action.c b/action.c +index 32a07dc..90ec1bf 100644 +--- a/action.c ++++ b/action.c +@@ -508,6 +508,7 @@ static rsRetVal actionDoRetry(action_t *pThis, time_t ttNow) + iRet = pThis->pMod->tryResume(pThis->pModData); + if((pThis->iResumeOKinRow > 999) && (pThis->iResumeOKinRow % 1000 == 0)) { + bTreatOKasSusp = 1; ++ pThis->iResumeOKinRow = 0; + } else { + bTreatOKasSusp = 0; + } +-- +1.6.4.2 + |