On Sat, Feb 15, 2014 at 06:18:40PM +0100, Lennart Poettering wrote:
> On Sat, 15.02.14 02:38, Yuxuan Shui (yshu...@gmail.com) wrote:
> 
> > Commit 5ba6985b moves the UNIT_VTABLE(u)->sigchld_event before systemd
> > actually reap the zombie. Which leads to service_load_pid_file accept
> > zombie as a valid pid.
> 
> service_load_pid_file() actually checks the validity of all PIDs before
> making use of them, with kill(pid, 0). Zombies actually result in ESRCH
> when one tries to kill them, and we will not accept the PID.
> 
> Is this a real problem you encountered? Are you suggesting the kill()
> check doesn't work? If so, we should probably fix that rather than
> adding some new code...

It does fix things for me. Quoting the commit message:

    This fixes timeouts like:
    [ 2746.602243] systemd[1]: chronyd.service stop-sigterm timed out. Killing.
    [ 2836.852545] systemd[1]: chronyd.service still around after SIGKILL. 
Ignoring.
    [ 2927.102187] systemd[1]: chronyd.service stop-final-sigterm timed out. 
Killing.
    [ 3017.352560] systemd[1]: chronyd.service still around after final 
SIGKILL. Entering failed mode.

Zbyszek
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to