dhclient causes delay during shutdown



Hi

since a while shutting down my embedded device has a delay of 10s. I see:

[  OK  ] Stopped D-Bus System Message Bus.
[  OK  ] Stopped Network Manager.
[  OK  ] Stopped Kernel Logging Service.
...
[  OK  ] Reached target Shutdown.
[ 5778.268022] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[ 5778.293797] systemd-journald[131]: Received SIGTERM from PID 1
(systemd-shutdow).
[ 5788.305137] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[ 5788.339046] systemd-shutdown[1]: Sending SIGKILL to PID 11829 (dhclient).
...

From this log I gather:

1) networkmanager does not stop dhclient (although it started it - right?)
2) dhclient does not catch SIGTERM

Further investigation lead to the following commit in dhcp [1]

commit e9326fd0f4561db5496f18523da15612213bd1b4
Author: Shawn Routhier <sar isc org>
Date:   Wed Jul 2 08:49:19 2014 -0700

    [master] Add define to disable gentle shutodwn by default

    Add a define to disable the gentle shutdown feature by default.
    The feature has some effects (recover-wait in failvoer pairs)
    and release in clients that are always desired.  We plan to
    revisit this in order to make it easier to use but with the
    define it can be enabled if necessary.

My current conclusion:

networkmanager does not stop dhclient during shutdown (but it
should?). This was wiped away by systemd killing dhclient by sending
SIGTERM. Now that dhclient ignores SIGTERM, systemd waits 10s and
kills dhclient by SIGKILL which is the delay I see.

FWIW: I worked around the shutdown delay by

#define ENABLE_GENTLE_SHUTDOWN

in dhcp but I think this is a workaround so I ask here.

What do experts think?

Andreas

[1] https://source.isc.org/git/dhcp.git


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]