summaryrefslogtreecommitdiffstats
path: root/action.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-03-18 17:55:15 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2009-03-18 17:55:15 +0100
commit27a639ed8875969574543f7738c7bcb14c6149d2 (patch)
tree5cd29af194fba23b765476a0f4897d6d08cf3f7c /action.c
parent7268b9bc5b8a7d4ea58cbec7fb6180574e2b20d6 (diff)
downloadrsyslog-27a639ed8875969574543f7738c7bcb14c6149d2.tar.gz
rsyslog-27a639ed8875969574543f7738c7bcb14c6149d2.tar.xz
rsyslog-27a639ed8875969574543f7738c7bcb14c6149d2.zip
omfile bugfixing
- fixed a bug that caused action retries not to work correctly situation was only cleared by a restart - bugfix: closed dynafile was potentially never written until another dynafile name was generated - potential loss of messages
Diffstat (limited to 'action.c')
-rw-r--r--action.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/action.c b/action.c
index a41f976c..10607e72 100644
--- a/action.c
+++ b/action.c
@@ -353,7 +353,13 @@ static rsRetVal actionTryResume(action_t *pThis)
ASSERT(pThis != NULL);
- ttNow = getActNow(pThis); /* cache "now" */
+ /* for resume handling, we must always obtain a fresh timestamp. We used
+ * to use the action timestamp, but in this case we will never reach a
+ * point where a resumption is actually tried, because the action timestamp
+ * is always in the past. So we can not avoid doing a fresh time() call
+ * here. -- rgerhards, 2009-03-18
+ */
+ time(&ttNow); /* cache "now" */
/* first check if it is time for a re-try */
if(ttNow > pThis->ttResumeRtry) {