summaryrefslogtreecommitdiffstats
path: root/action.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2013-04-09 10:54:04 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2013-04-09 10:54:04 +0200
commit86e34c6985da29c62f13ab83e44548f1fd21849d (patch)
tree4bae37bc40854dc0d60a68cacc1a7cd488c83961 /action.c
parentd9cde56eb8532bd660d6feb2249562afac0c40f6 (diff)
downloadrsyslog-86e34c6985da29c62f13ab83e44548f1fd21849d.tar.gz
rsyslog-86e34c6985da29c62f13ab83e44548f1fd21849d.tar.bz2
rsyslog-86e34c6985da29c62f13ab83e44548f1fd21849d.zip
make imrelp properly terminate on system shutdown
it didn't do so if it was inside a retry loop
Diffstat (limited to 'action.c')
-rw-r--r--action.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/action.c b/action.c
index 42d0e0ad..4e1a8713 100644
--- a/action.c
+++ b/action.c
@@ -1284,8 +1284,11 @@ processBatchMain(action_t *pAction, batch_t *pBatch, int *pbShutdownImmediate)
assert(pBatch != NULL);
- pbShutdownImmdtSave = pBatch->pbShutdownImmediate;
- pBatch->pbShutdownImmediate = pbShutdownImmediate;
+ if(pbShutdownImmediate != NULL) {
+ pbShutdownImmdtSave = pBatch->pbShutdownImmediate;
+ pBatch->pbShutdownImmediate = pbShutdownImmediate;
+dbgprintf("DDDD: processBatchMain ShutdownImmediate is %p, was %p\n", pBatch->pbShutdownImmediate, pbShutdownImmdtSave);
+ }
CHKiRet(prepareBatch(pAction, pBatch, &activeSave, &bMustRestoreActivePtr));
/* We now must guard the output module against execution by multiple threads. The
@@ -1316,7 +1319,8 @@ processBatchMain(action_t *pAction, batch_t *pBatch, int *pbShutdownImmediate)
}
finalize_it:
- pBatch->pbShutdownImmediate = pbShutdownImmdtSave;
+ if(pbShutdownImmediate != NULL)
+ pBatch->pbShutdownImmediate = pbShutdownImmdtSave;
RETiRet;
}
#pragma GCC diagnostic warning "-Wempty-body"