From c438242878c8bdabffaef62dd2859920cc3e7d26 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 6 Dec 2009 13:10:44 +0100 Subject: [PATCH] [BUG] config: fix error message when config file is not found Cameron Simpson reported an annoying case where haproxy simply reports "Error(s) found in configuration file" when the file is not found or not readable. Fortunately the parsing function still returns -1 in case of open error, so we're able to detect the issue from the caller and report the corresponding errno message. --- src/haproxy.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/haproxy.c b/src/haproxy.c index 43aee22a5..c5558ca40 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -541,7 +541,15 @@ void init(int argc, char **argv) init_default_instance(); for (i = 0; i < cfg_nbcfgfiles; i++) { - err_code |= readcfgfile(cfg_cfgfile[i]); + int ret; + + ret = readcfgfile(cfg_cfgfile[i]); + if (ret == -1) { + Alert("Could not open configuration file %s : %s\n", + cfg_cfgfile[i], strerror(errno)); + exit(1); + } + err_code |= ret; if (err_code & (ERR_ABORT|ERR_FATAL)) Alert("Error(s) found in configuration file : %s\n", cfg_cfgfile[i]); if (err_code & ERR_ABORT)