summaryrefslogtreecommitdiffstats
path: root/runtime/queue.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-04-27 12:32:57 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2012-04-27 12:32:57 +0200
commit420189ba2f860fe29b75a2c8e426d7ca9b1ffaf7 (patch)
tree7df95ffaea6fc80a195c52a2918d9b641fd41146 /runtime/queue.c
parent354a410fad173b88c3b121376c2aca7898869ff0 (diff)
downloadrsyslog-420189ba2f860fe29b75a2c8e426d7ca9b1ffaf7.tar.gz
rsyslog-420189ba2f860fe29b75a2c8e426d7ca9b1ffaf7.tar.xz
rsyslog-420189ba2f860fe29b75a2c8e426d7ca9b1ffaf7.zip
bugfix: active input in "light delay state" could block rsyslog termination
at least for prolonged period of time...
Diffstat (limited to 'runtime/queue.c')
-rw-r--r--runtime/queue.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/queue.c b/runtime/queue.c
index 9f318523..5e000cd2 100644
--- a/runtime/queue.c
+++ b/runtime/queue.c
@@ -2247,6 +2247,10 @@ doEnqSingleObj(qqueue_t *pThis, flowControl_t flowCtlType, void *pUsr)
DEFiRet;
struct timespec t;
+ if(glbl.GetGlobalInputTermState()) {
+ ABORT_FINALIZE(RS_RET_FORCE_TERM);
+ }
+
STATSCOUNTER_INC(pThis->ctrEnqueued, pThis->mutCtrEnqueued);
/* first check if we need to discard this message (which will cause CHKiRet() to exit)
*/