]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/core/service.c
core: fix detection of dead processes
authorYuxuan Shui <yshuiv7@gmail.com>
Fri, 14 Feb 2014 18:38:50 +0000 (02:38 +0800)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 15 Feb 2014 01:47:52 +0000 (20:47 -0500)
commite10c9985bbc3cf79f12f9ec7317adfe697fa8214
treed0271b53f717e49d46a609c334fab1875d8886b8
parentf928d3263d788da8dec64f06c792988b6076e600
core: fix detection of dead processes

Commit 5ba6985b moves the UNIT_VTABLE(u)->sigchld_event before systemd
actually reaps the zombie. Which leads to service_load_pid_file accepting
zombie as a valid pid.

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.
src/core/service.c
src/shared/util.c
src/shared/util.h