[Bug 213928] Reapers don't receive SIGCHLD when inheriting zombies

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Oct 31 00:49:59 UTC 2016


            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 at FreeBSD.org
          Reporter: muh.muhten at 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.

More information about the freebsd-bugs mailing list