[Bug 277959] Refactor of usr.sbin/daemon caused regression in restart parameter
Date: Tue, 19 Nov 2024 19:51:52 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277959 --- Comment #15 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=bc1dfc316a2bba97773a14b96f5e976a52524be4 commit bc1dfc316a2bba97773a14b96f5e976a52524be4 Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2024-11-19 19:51:27 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2024-11-19 19:51:27 +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. PR: 277959 Reviewed by: des, markj Differential Revision: https://reviews.freebsd.org/D47004 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.