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

            Bug ID: 213928
           Summary: Reapers don't receive SIGCHLD when inheriting zombies
           Product: Base System
           Version: 11.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: muh.muh...@gmail.com

If a process acquires reaper status with procctl (or if it's init), then when
one of its children exits, its children, including zombies, get reparented.

If a zombie gets reparented, the reaper receives no notification, so unless
it's looping around a wait* for unspecified children, the zombie won't get
reaped until the reaper exits.

This doesn't seem to be a problem for init, which does indeed loop around
waitpid(-1,0,0). However, it makes it hard for a correct program which acquires
reaper status to do anything interesting, as such a program should not block on
anything but a wait* call unless it can guarantee that none of its descendants
will exit with zombies, as otherwise the system can accumulate zombies.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to