From: Christopher Faulet Date: Tue, 29 Aug 2017 14:54:41 +0000 (+0200) Subject: MINOR: logs: Realloc log buffers only after the config is parsed and checked X-Git-Tag: v1.8-dev3~126 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=084aa9615b827d67b82df3d61fa3112fa588c786;p=thirdparty%2Fhaproxy.git MINOR: logs: Realloc log buffers only after the config is parsed and checked During the configuration parsing, log buffers are reallocated when global.max_syslog_len is updated. This can be done serveral time. So, instead of doing it serveral time, we do it only once after the configuration parsing. --- diff --git a/src/cfgparse.c b/src/cfgparse.c index d491560565..fc346b99fc 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -1418,14 +1418,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm) else logsrv->maxlen = MAX_SYSLOG_LEN; - if (logsrv->maxlen > global.max_syslog_len) { + if (logsrv->maxlen > global.max_syslog_len) global.max_syslog_len = logsrv->maxlen; - if (!init_log_buffers()) { - Alert("parsing [%s:%d] : failed to initialize log buffers.\n", file, linenum); - err_code |= ERR_ALERT | ERR_FATAL; - goto out; - } - } /* after the length, a format may be specified */ if (strcmp(args[arg+2], "format") == 0) { @@ -6081,14 +6075,8 @@ stats_error_parsing: else logsrv->maxlen = MAX_SYSLOG_LEN; - if (logsrv->maxlen > global.max_syslog_len) { + if (logsrv->maxlen > global.max_syslog_len) global.max_syslog_len = logsrv->maxlen; - if (!init_log_buffers()) { - Alert("parsing [%s:%d] : failed to initialize log buffers.\n", file, linenum); - err_code |= ERR_ALERT | ERR_FATAL; - goto out; - } - } /* after the length, a format may be specified */ if (strcmp(args[arg+2], "format") == 0) { diff --git a/src/haproxy.c b/src/haproxy.c index 7c925eaea7..47ef859b9f 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -1718,6 +1718,11 @@ static void init(int argc, char **argv) exit(1); } + if (!init_log_buffers()) { + Alert("failed to initialize log buffers.\n"); + exit(1); + } + swap_buffer = calloc(1, global.tune.bufsize); get_http_auth_buff = calloc(1, global.tune.bufsize); static_table_key = calloc(1, sizeof(*static_table_key));