[Bug 277959] Refactor of usr.sbin/daemon caused regression in restart parameter

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 25 Mar 2024 20:12:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277959

            Bug ID: 277959
           Summary: Refactor of usr.sbin/daemon caused regression in
                    restart parameter
           Product: Base System
           Version: 13.3-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: awalker@ixsystems.com

/usr/sbin/daemon was refactored to use kqueue in
b64f569e5c051ff1acbfd7fefb3d32005957fc80. 

As a result of this if daemon is being used to supervise process with -r -R,
then if supervised child process dies and SIGTERM sent to daemon, it will hang
indefinitely (observed 24 hour hang).

For example if daemon is used to monitor collectd as follows:

/usr/sbin/daemon -f -p /var/run/collectd.pid -P/var/run/collectd-daemon.pid -r
-R 60 /usr/local/sbin/collectd -f

and then

kill -9 <collectd pid>

and then
kill -15 <collectd-daemon.pid>

last kill reproduces issue.

Reverting to daemon from before above-referenced commit fixes issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.