diff options
author | David Lamparter <equinox@opensourcerouting.org> | 2024-01-25 22:54:54 +0100 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2024-03-10 12:42:14 +0100 |
commit | 95a737ed1bf7f89cb8e5367ef8e8e66a800084d7 (patch) | |
tree | 9c637ac3cc463ed198f6dbd81578bbb90bb57d07 /ldpd/lde.c | |
parent | lib: allow recirculating/relaying log messages (diff) | |
download | frr-95a737ed1bf7f89cb8e5367ef8e8e66a800084d7.tar.xz frr-95a737ed1bf7f89cb8e5367ef8e8e66a800084d7.zip |
ldpd: use zlog recirculation for subprocesses
This way, full functionality of `zlog_*` is available.
Having `fatal()` be wrappers around `assertf()` also means we get
backtraces, which is not the case for a plain `exit(1)`.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ldpd/lde.c')
-rw-r--r-- | ldpd/lde.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ldpd/lde.c b/ldpd/lde.c index ef4aecada..876dd4163 100644 --- a/ldpd/lde.c +++ b/ldpd/lde.c @@ -28,6 +28,7 @@ #include "stream.h" #include "network.h" #include "libfrr.h" +#include "zlog_live.h" static void lde_shutdown(void); static void lde_dispatch_imsg(struct event *thread); @@ -116,6 +117,8 @@ static struct frr_signal_t lde_signals[] = void lde(void) { + static struct zlog_live_cfg child_log; + #ifdef HAVE_SETPROCTITLE setproctitle("label decision engine"); #endif @@ -123,6 +126,8 @@ lde(void) log_procname = log_procnames[PROC_LDE_ENGINE]; master = frr_init(); + zlog_live_open_fd(&child_log, LOG_DEBUG, LDPD_FD_LOG); + /* no frr_config_fork() here, allow frr_pthread to create threads */ frr_is_after_fork = true; |