diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2013-11-21 09:17:19 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2013-11-21 11:14:13 +0100 |
commit | 5529113265633700f2220277943ad1b332c954f2 (patch) | |
tree | d8aaa4af78fbf326a18c74a79757ea754c3b802f /runtime/queue.c | |
parent | ba92b0e4971a4fc9413b9ef8deb4f33c6e2c073a (diff) | |
download | rsyslog-5529113265633700f2220277943ad1b332c954f2.tar.gz rsyslog-5529113265633700f2220277943ad1b332c954f2.tar.bz2 rsyslog-5529113265633700f2220277943ad1b332c954f2.zip |
queue: add config parameter queue.spooldirectory
Conflicts:
runtime/queue.c
Diffstat (limited to 'runtime/queue.c')
-rw-r--r-- | runtime/queue.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/runtime/queue.c b/runtime/queue.c index a6928910..b1938ac1 100644 --- a/runtime/queue.c +++ b/runtime/queue.c @@ -59,6 +59,7 @@ #include "datetime.h" #include "unicode-helper.h" #include "statsobj.h" +#include "parserif.h" #ifdef OS_SOLARIS # include <sched.h> @@ -96,6 +97,7 @@ rsRetVal qqueueSetSpoolDir(qqueue_t *pThis, uchar *pszSpoolDir, int lenSpoolDir) /* tables for interfacing with the v6 config system */ static struct cnfparamdescr cnfpdescr[] = { { "queue.filename", eCmdHdlrGetWord, 0 }, + { "queue.spooldirectory", eCmdHdlrGetWord, 0 }, { "queue.size", eCmdHdlrSize, 0 }, { "queue.dequeuebatchsize", eCmdHdlrInt, 0 }, { "queue.maxdiskspace", eCmdHdlrSize, 0 }, @@ -2883,6 +2885,16 @@ qqueueApplyCnfParam(qqueue_t *pThis, struct nvlst *lst) pThis->lenFilePrefix = es_strlen(pvals[i].val.d.estr); } else if(!strcmp(pblk.descr[i].name, "queue.cry.provider")) { pThis->cryprovName = (uchar*) es_str2cstr(pvals[i].val.d.estr, NULL); + } else if(!strcmp(pblk.descr[i].name, "queue.spooldirectory")) { + free(pThis->pszSpoolDir); + pThis->pszSpoolDir = (uchar*) es_str2cstr(pvals[i].val.d.estr, NULL); + pThis->lenSpoolDir = es_strlen(pvals[i].val.d.estr); + if(pThis->pszSpoolDir[pThis->lenSpoolDir-1] == '/') { + pThis->pszSpoolDir[pThis->lenSpoolDir-1] = '\0'; + --pThis->lenSpoolDir; + parser_errmsg("queue.spooldirectory must not end with '/', " + "corrected to '%s'", pThis->pszSpoolDir); + } } else if(!strcmp(pblk.descr[i].name, "queue.size")) { pThis->iMaxQueueSize = pvals[i].val.d.n; } else if(!strcmp(pblk.descr[i].name, "queue.dequeuebatchsize")) { |