BUG/MEDIUM: logs: Only attempt to free startup_logs once.

deinit_log_buffers() can be called once per thread, however startup_logs
is common to all threads. So only attempt to free it once.

This should be backported to 1.9 and 1.8.
This commit is contained in:
Olivier Houchard 2019-03-07 14:19:24 +01:00 committed by Willy Tarreau
parent 0cf33176bd
commit 7c49711d60

View File

@ -1692,11 +1692,15 @@ int init_log_buffers()
/* Deinitialize log buffers used for syslog messages */
void deinit_log_buffers()
{
void *tmp_startup_logs;
free(logheader);
free(logheader_rfc5424);
free(logline);
free(logline_rfc5424);
free(startup_logs);
tmp_startup_logs = HA_ATOMIC_XCHG(&startup_logs, NULL);
free(tmp_startup_logs);
logheader = NULL;
logheader_rfc5424 = NULL;
logline = NULL;