https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277959

--- Comment #38 from commit-h...@freebsd.org ---
A commit in branch releng/13.4 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=a1f4a530dea32e6987b8788e5ad1f99ffb96fbbf

commit a1f4a530dea32e6987b8788e5ad1f99ffb96fbbf
Author:     Kyle Evans <kev...@freebsd.org>
AuthorDate: 2024-11-19 19:51:27 +0000
Commit:     Philip Paeps <phi...@freebsd.org>
CommitDate: 2025-04-10 14:39:15 +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 4bb1a558a2811a27b1211579cb257a11df49c0e1)

 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.

Reply via email to