diff options
-rw-r--r-- | runtime/conf.c | 2 | ||||
-rw-r--r-- | runtime/rsyslog.h | 1 | ||||
-rw-r--r-- | tools/syslogd.c | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/runtime/conf.c b/runtime/conf.c index 37716f88..55eb9800 100644 --- a/runtime/conf.c +++ b/runtime/conf.c @@ -484,7 +484,7 @@ finalize_it: } if(bHadAnError && (iRet == RS_RET_OK)) { /* a bit dirty, enhance in future releases */ - iRet = RS_RET_ERR; + iRet = RS_RET_NONFATAL_CONFIG_ERR; } RETiRet; } diff --git a/runtime/rsyslog.h b/runtime/rsyslog.h index 032d8c04..a4a8a204 100644 --- a/runtime/rsyslog.h +++ b/runtime/rsyslog.h @@ -258,6 +258,7 @@ enum rsRetVal_ /** return value. All methods return this if not specified oth RS_RET_FUNC_MISSING_EXPR = -2111, /**< no expression after comma in function call (rainerscript) */ RS_RET_INVLD_NBR_ARGUMENTS = -2112, /**< invalid number of arguments for function call (rainerscript) */ RS_RET_INVLD_FUNC = -2113, /**< invalid function name for function call (rainerscript) */ + RS_RET_NONFATAL_CONFIG_ERR = -2123, /**< non-fatal error during config processing */ /* RainerScript error messages (range 1000.. 1999) */ RS_RET_SYSVAR_NOT_FOUND = 1001, /**< system variable could not be found (maybe misspelled) */ diff --git a/tools/syslogd.c b/tools/syslogd.c index 4444bf6b..2ff868a9 100644 --- a/tools/syslogd.c +++ b/tools/syslogd.c @@ -2388,7 +2388,7 @@ init(void) bHadConfigErr = 1; } - if(localRet != RS_RET_OK || iNbrActions == 0) { + if((localRet != RS_RET_OK && localRet != RS_RET_NONFATAL_CONFIG_ERR) || iNbrActions == 0) { /* rgerhards: this code is executed to set defaults when the * config file could not be opened. We might think about * abandoning the run in this case - but this, too, is not |