From: Maria Matejka Date: Wed, 1 Nov 2023 17:25:15 +0000 (+0100) Subject: Debug file fix X-Git-Tag: v3.0.0~354 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f1485baf90feba852828df53efcad87306594ec;p=thirdparty%2Fbird.git Debug file fix It got mistakenly closed while applying the log configuration. --- diff --git a/sysdep/unix/log.c b/sysdep/unix/log.c index 81558d0a2..0d6adf428 100644 --- a/sysdep/unix/log.c +++ b/sysdep/unix/log.c @@ -512,7 +512,7 @@ log_switch(int initial, list *logs, const char *new_syslog_name) } /* The filehandle is no longer needed */ - if (l->rf != &rf_stderr) + if ((l->rf != &rf_stderr ) && (l->rf != dbg_rf)) { log_lock(); rfree(l->rf); @@ -608,8 +608,8 @@ log_switch(int initial, list *logs, const char *new_syslog_name) /* Store new mask after opening new files to minimize missing log message race conditions */ atomic_store_explicit(&ol->mask, ol->new_mask, memory_order_release); - /* Never close syslog channel */ - if (ol->new_mask || !ol->rf) + /* Never close syslog channel or debug */ + if (ol->new_mask || !ol->rf || (ol->rf == dbg_rf)) { pprev = &ol->next; ol = atomic_load_explicit(pprev, memory_order_acquire);