summaryrefslogtreecommitdiff
path: root/lib/zlog_5424.c
diff options
context:
space:
mode:
authorMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>2025-01-06 12:47:33 +0100
committerMartin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>2025-01-08 13:30:40 +0100
commit9951da394abb71c6542f91031ac3a9fab04193bd (patch)
tree7e4f17a2441b4ece6831650460a8a9eca84e1109 /lib/zlog_5424.c
parent21fe1f4d83502ac1c2262913c1a98441ea89bf24 (diff)
lib: Try to open 5424 log destination when changing log threshold
When changing the log threshold (prio_min) using zlog_5424_apply_meta(), try to open the log destination using zlog_5424_open() if we haven't done so before. Without this, we might never open the destination at all, because when zlog_5424_apply_dst() gets called (which so far was the only initial caller of zlog_5424_open()), chances are that prio_min is still at its initial value of ZLOG_DISABLED, causing it to skip the call to zlog_5424_open(). Signed-off-by: Martin Buck <mb-tmp-tvguho.pbz@gromit.dyndns.org>
Diffstat (limited to 'lib/zlog_5424.c')
-rw-r--r--lib/zlog_5424.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/zlog_5424.c b/lib/zlog_5424.c
index 4c60d4b405..c8586a1a02 100644
--- a/lib/zlog_5424.c
+++ b/lib/zlog_5424.c
@@ -1076,9 +1076,17 @@ bool zlog_5424_apply_dst(struct zlog_cfg_5424 *zcf)
bool zlog_5424_apply_meta(struct zlog_cfg_5424 *zcf)
{
+ int fd;
+
frr_with_mutex (&zcf->cfg_mtx) {
if (zcf->active)
- zlog_5424_cycle(zcf, zcf->active->fd);
+ fd = zcf->active->fd;
+ else if (zcf->prio_min != ZLOG_DISABLED)
+ fd = zlog_5424_open(zcf, -1);
+ else
+ fd = -1;
+ if (fd >= 0)
+ zlog_5424_cycle(zcf, fd);
}
return true;