[Bug 277959] Refactor of usr.sbin/daemon caused regression in restart parameter
Date: Thu, 10 Apr 2025 14:58:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277959
--- Comment #37 from commit-hook@FreeBSD.org ---
A commit in branch releng/14.2 references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=4651d400f1000834365a21c59d6803da4474c63e
commit 4651d400f1000834365a21c59d6803da4474c63e
Author: Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2024-11-19 19:51:27 +0000
Commit: Philip Paeps <philip@FreeBSD.org>
CommitDate: 2025-04-10 14:38:58 +0000
daemon: stop rebuilding the kqueue every restart of the child
We populate the kqueue with all of four kevents: three signal handlers and
one for read of the child pipe. Every time we start the child, we rebuild
this kqueue from scratch for the child and tear it down before we exit and
check if we need to restart the child. As a consequence, we effectively
drop any of the signals we're interested in between restarts.
Push the kqueue out into the daemon state to avoid losing any signal events
in the process, and reimplement the restart timer in terms of kqueue
timers.
The pipe read event will be automatically deleted upon last close, which
leaves us with only the signal events that really get retained between
restarts of the child.
Approved by: so
Security: FreeBSD-EN-25:06.daemon
PR: 277959
Reviewed by: des, markj
(cherry picked from commit bc1dfc316a2bba97773a14b96f5e976a52524be4)
(cherry picked from commit 7ea2874eadf901b1187772670169b6fc3a44d917)
usr.sbin/daemon/daemon.c | 121 +++++++++++++++++++++++++++++++++++++++--------
1 file changed, 101 insertions(+), 20 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.