summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-05-28 18:34:17 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-05-28 18:34:17 +0200
commitd7c98e7a6ec28a6c76bccf16d83f36b34a705410 (patch)
tree66807ada649997bb6e5c8928a6a95870f43d926e /tools
parentc6a2dafb2fc5d186ef146035f270a4819075eab1 (diff)
parent8d8befaeca0d9ed3f096780e499a3231f16585c4 (diff)
downloadrsyslog-d7c98e7a6ec28a6c76bccf16d83f36b34a705410.tar.gz
rsyslog-d7c98e7a6ec28a6c76bccf16d83f36b34a705410.tar.xz
rsyslog-d7c98e7a6ec28a6c76bccf16d83f36b34a705410.zip
Merge branch 'beta' into master
Conflicts: tests/Makefile.am
Diffstat (limited to 'tools')
-rw-r--r--tools/syslogd.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/tools/syslogd.c b/tools/syslogd.c
index 0b860448..69c24ae6 100644
--- a/tools/syslogd.c
+++ b/tools/syslogd.c
@@ -976,7 +976,7 @@ logmsgInternal(int iErr, int pri, uchar *msg, int flags)
* permits us to process unmodified config files which otherwise contain a
* supressor statement.
*/
- if(bErrMsgToStderr || iConfigVerify) {
+ if(((Debug || NoFork) && bErrMsgToStderr) || iConfigVerify) {
fprintf(stderr, "rsyslogd: %s\n", msg);
}
@@ -2550,6 +2550,7 @@ init(void)
DEFiRet;
rsRetVal localRet;
int iNbrActions;
+ int bHadConfigErr = 0;
char cbuf[BUFSIZ];
char bufStartUpMsg[512];
struct sigaction sigAct;
@@ -2600,9 +2601,11 @@ init(void)
if(localRet != RS_RET_OK) {
errmsg.LogError(0, localRet, "CONFIG ERROR: could not interpret master config file '%s'.", ConfFile);
+ bHadConfigErr = 1;
} else if(iNbrActions == 0) {
errmsg.LogError(0, RS_RET_NO_ACTIONS, "CONFIG ERROR: there are no active actions configured. Inputs will "
"run, but no output whatsoever is created.");
+ bHadConfigErr = 1;
}
if(localRet != RS_RET_OK || iNbrActions == 0) {
@@ -2672,8 +2675,13 @@ init(void)
/* we are done checking the config - now validate if we should actually run or not.
* If not, terminate. -- rgerhards, 2008-07-25
*/
- if(iConfigVerify)
+ if(iConfigVerify) {
+ if(bHadConfigErr) {
+ /* a bit dirty, but useful... */
+ exit(1);
+ }
ABORT_FINALIZE(RS_RET_VALIDATION_RUN);
+ }
/* switch the message object to threaded operation, if necessary */
if(MainMsgQueType == QUEUETYPE_DIRECT || iMainMsgQueueNumWorkers > 1) {