From 084aa9615b827d67b82df3d61fa3112fa588c786 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 29 Aug 2017 16:54:41 +0200 Subject: [PATCH] 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. --- src/cfgparse.c | 16 ++-------------- src/haproxy.c | 5 +++++ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index d49156056..fc346b99f 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 7c925eaea..47ef859b9 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));