summaryrefslogtreecommitdiffstats
path: root/plugins/imdiag/imdiag.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-11-25 13:28:05 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2009-11-25 13:28:05 +0100
commit18749309f333ee83d5fc14d64971e0418eef360d (patch)
tree9f237e80f4e70bb5d4ad2dd528a010d43960ce45 /plugins/imdiag/imdiag.c
parente0d77fa90cad334f308da9cbd4369d61f1c97511 (diff)
downloadrsyslog-18749309f333ee83d5fc14d64971e0418eef360d.tar.gz
rsyslog-18749309f333ee83d5fc14d64971e0418eef360d.tar.xz
rsyslog-18749309f333ee83d5fc14d64971e0418eef360d.zip
fixing some potential segfault conditions
Diffstat (limited to 'plugins/imdiag/imdiag.c')
-rw-r--r--plugins/imdiag/imdiag.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/imdiag/imdiag.c b/plugins/imdiag/imdiag.c
index 2f7e5fee..81b357ef 100644
--- a/plugins/imdiag/imdiag.c
+++ b/plugins/imdiag/imdiag.c
@@ -270,6 +270,11 @@ waitMainQEmpty(tcps_sess_t *pSess)
dbgprintf("imdiag sleeping, wait mainq drain, curr size %d\n", iMsgQueueSize);
srSleep(0,2); /* wait a little bit */
CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
+ if(iMsgQueueSize == 0) {
+ /* verify that queue is still empty (else it could just be a race!) */
+ srSleep(1,5); /* wait a little bit */
+ CHKiRet(diagGetMainMsgQSize(&iMsgQueueSize));
+ }
}
CHKiRet(sendResponse(pSess, "mainqueue empty\n"));