MEDIUM: chunks: Realloc trash buffers only after the config is parsed and checked

Trash buffers are reallocated when "tune.bufsize" parameter is changed. Here, we
just move the realloc after the configuration parsing.

Given that the config parser doesn't rely on the trash size, it should be
harmless.
This commit is contained in:
Christopher Faulet 2017-08-29 16:46:57 +02:00 committed by Willy Tarreau
parent 748919a4c7
commit 3ef2639870
2 changed files with 6 additions and 5 deletions

View file

@ -773,11 +773,6 @@ int cfg_parse_global(const char *file, int linenum, char **args, int kwm)
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
if (!init_trash_buffers()) {
Alert("parsing [%s:%d] : failed to initialize trash buffers.\n", file, linenum);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
}
else if (!strcmp(args[0], "tune.maxrewrite")) {
if (alertif_too_many_args(1, file, linenum, args, &err_code))

View file

@ -1712,6 +1712,12 @@ static void init(int argc, char **argv)
if (global.nbproc < 1)
global.nbproc = 1;
/* Realloc trash buffers because global.tune.bufsize may have changed */
if (!init_trash_buffers()) {
Alert("failed to initialize trash 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));