rsyslog: break potential infinite loop in actionDoRetry
authorsledz <sledz@ba11ecae-741b-462f-8724-1218f99f5906>
Fri, 30 Jul 2010 15:55:39 +0000 (15:55 +0000)
committerSteffen Sledz <sledz@dresearch.de>
Tue, 3 Aug 2010 05:57:50 +0000 (07:57 +0200)
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>
recipes/rsyslog/files/rsyslog-resume.patch [new file with mode: 0644]
recipes/rsyslog/rsyslog_5.5.4.bb

diff --git a/recipes/rsyslog/files/rsyslog-resume.patch b/recipes/rsyslog/files/rsyslog-resume.patch
new file mode 100644 (file)
index 0000000..73ed101
--- /dev/null
@@ -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
+
index 7a3eb5d..e949ed5 100644 (file)
@@ -1,5 +1,7 @@
 require rsyslog.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
+
+SRC_URI += " file://rsyslog-resume.patch "
 
 SRC_URI[md5sum] = "824df2504955df1619e5ec2915d783aa"
 SRC_URI[sha256sum] = "31853a551ea7ca960c59c9e33406b1748bdf311059c9d8a4ce98816d51b17cac"