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:
parent
46faedff29
commit
d72d3891bf
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user