diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2009-11-25 13:28:05 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2009-11-25 13:28:05 +0100 |
commit | 18749309f333ee83d5fc14d64971e0418eef360d (patch) | |
tree | 9f237e80f4e70bb5d4ad2dd528a010d43960ce45 /plugins/imdiag | |
parent | e0d77fa90cad334f308da9cbd4369d61f1c97511 (diff) | |
download | rsyslog-18749309f333ee83d5fc14d64971e0418eef360d.tar.gz rsyslog-18749309f333ee83d5fc14d64971e0418eef360d.tar.xz rsyslog-18749309f333ee83d5fc14d64971e0418eef360d.zip |
fixing some potential segfault conditions
Diffstat (limited to 'plugins/imdiag')
-rw-r--r-- | plugins/imdiag/imdiag.c | 5 |
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")); |