summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queue.h1
-rw-r--r--syslogd.c16
2 files changed, 15 insertions, 2 deletions
diff --git a/queue.h b/queue.h
index 76b282be..1cbd52b4 100644
--- a/queue.h
+++ b/queue.h
@@ -111,6 +111,7 @@ rsRetVal queueDestruct(queue_t *pThis);
rsRetVal queueEnqObj(queue_t *pThis, void *pUsr);
rsRetVal queueStart(queue_t *pThis);
rsRetVal queueSetMaxFileSize(queue_t *pThis, size_t iMaxFileSize);
+rsRetVal queueSetFilePrefix(queue_t *pThis, uchar *pszPrefix, size_t iLenPrefix);
rsRetVal queueConstruct(queue_t **ppThis, queueType_t qType, int iWorkerThreads,
int iMaxQueueSize, rsRetVal (*pConsumer)(void*));
diff --git a/syslogd.c b/syslogd.c
index 72edb732..64297f42 100644
--- a/syslogd.c
+++ b/syslogd.c
@@ -3360,9 +3360,21 @@ init(void)
exit(1);
}
/* ... set some properties ... */
- CHKiRet_Hdlr(queueSetMaxFileSize(pMsgQueue, iMainMsgQueMaxFileSize)) {
- logerrorInt("Invalid $MainMsgQueueMaxFileSize, error %d. Ignored, running with default setting", iRet);
+# define setQPROP(func, directive, data) \
+ CHKiRet_Hdlr(func(pMsgQueue, data)) { \
+ logerrorInt("Invalid " #directive ", error %d. Ignored, running with default setting", iRet); \
}
+# define setQPROPstr(func, directive, data) \
+ CHKiRet_Hdlr(func(pMsgQueue, data, strlen((char*) data))) { \
+ logerrorInt("Invalid " #directive ", error %d. Ignored, running with default setting", iRet); \
+ }
+
+ setQPROP(queueSetMaxFileSize, "$MainMsgQueueFileSize", iMainMsgQueMaxFileSize);
+ setQPROPstr(queueSetFilePrefix, "$MainMsgQueueFilePrefix",
+ (pszMainMsgQFilePrefix == NULL ? (uchar*) "mainq" : pszMainMsgQFilePrefix));
+
+# undef setQPROP
+# undef setQPROPstr
/* ... and finally start the queue! */
CHKiRet_Hdlr(queueStart(pMsgQueue)) {