On Sat, Feb 15, 2014 at 06:18:40PM +0100, Lennart Poettering wrote:
> On Sat, 15.02.14 02:38, Yuxuan Shui ([email protected]) 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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel