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.
This commit is contained in:
Christopher Faulet 2017-08-29 16:54:41 +02:00 committed by Willy Tarreau
parent 0132d06f68
commit 084aa9615b
2 changed files with 7 additions and 14 deletions

View File

@ -1418,14 +1418,8 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
else else
logsrv->maxlen = MAX_SYSLOG_LEN; 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; 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 */ /* after the length, a format may be specified */
if (strcmp(args[arg+2], "format") == 0) { if (strcmp(args[arg+2], "format") == 0) {
@ -6081,14 +6075,8 @@ stats_error_parsing:
else else
logsrv->maxlen = MAX_SYSLOG_LEN; 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; 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 */ /* after the length, a format may be specified */
if (strcmp(args[arg+2], "format") == 0) { if (strcmp(args[arg+2], "format") == 0) {

View File

@ -1718,6 +1718,11 @@ static void init(int argc, char **argv)
exit(1); exit(1);
} }
if (!init_log_buffers()) {
Alert("failed to initialize log buffers.\n");
exit(1);
}
swap_buffer = calloc(1, global.tune.bufsize); swap_buffer = calloc(1, global.tune.bufsize);
get_http_auth_buff = calloc(1, global.tune.bufsize); get_http_auth_buff = calloc(1, global.tune.bufsize);
static_table_key = calloc(1, sizeof(*static_table_key)); static_table_key = calloc(1, sizeof(*static_table_key));