0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-01-03 07:31:54 +00:00

Log: Fixed race condition in reconfigure while BFD is running

This commit is contained in:
Maria Matejka 2019-07-30 12:11:12 +02:00
parent 46faedff29
commit d72d3891bf

View File

@ -294,12 +294,14 @@ log_switch(int debug, list *l, char *new_syslog_name)
if (!l || EMPTY_LIST(*l)) if (!l || EMPTY_LIST(*l))
l = default_log_list(debug, !l, &new_syslog_name); l = default_log_list(debug, !l, &new_syslog_name);
log_lock();
current_log_list = l; current_log_list = l;
#ifdef HAVE_SYSLOG_H #ifdef HAVE_SYSLOG_H
if (current_syslog_name && new_syslog_name && if (current_syslog_name && new_syslog_name &&
!strcmp(current_syslog_name, new_syslog_name)) !strcmp(current_syslog_name, new_syslog_name))
return; goto done;
if (current_syslog_name) if (current_syslog_name)
{ {
@ -314,6 +316,9 @@ log_switch(int debug, list *l, char *new_syslog_name)
openlog(current_syslog_name, LOG_CONS | LOG_NDELAY, LOG_DAEMON); openlog(current_syslog_name, LOG_CONS | LOG_NDELAY, LOG_DAEMON);
} }
#endif #endif
done:
log_unlock();
} }