diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2025-02-10 09:27:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-10 09:27:50 +0100 |
| commit | a97be61de8e67e86db6a7f609e1e324ca8fb75bf (patch) | |
| tree | d09d282b5af832522cc89179899bdf42b38d50ab | |
| parent | 2ef76a33506f39d98038d5239f0620e2bbf33d8c (diff) | |
| parent | 59ee9d2a796ea9ad4fc55ee5df69fd6b0218a887 (diff) | |
Merge pull request #17775 from gromit1811/pr_journald_bugfix
| -rw-r--r-- | lib/zlog_5424.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/zlog_5424.c b/lib/zlog_5424.c index 4c60d4b405..6265ce3b1f 100644 --- a/lib/zlog_5424.c +++ b/lib/zlog_5424.c @@ -782,7 +782,7 @@ static void zlog_5424_cycle(struct zlog_cfg_5424 *zcf, int fd) } old = zcf->active ? &zcf->active->zt : NULL; - old = zlog_target_replace(old, &zlt->zt); + old = zlog_target_replace(old, zlt ? &zlt->zt : NULL); zcf->active = zlt; /* oldt->fd == fd happens for zlog_5424_apply_meta() */ @@ -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; |
