On Wed, 2015-09-02 at 15:52 +0200, Andreas Müller wrote: > 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 <[email protected]> > 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?
Hi, On shutdown, NetworkManager receives SIGTERM from systemd. NM does in that moment not know the reason for the shutdown. It is indistinguishable from a `systemctl restart`, or `systemctl start`, or `systemd isolate rescue.target`... NetworkManager always leaves your ethernet interfaces up when it terminates. (Wifi actually gets disconnected, but I think that is rather a bug than a feature). It does so, because it does not want to break your network connectivity. Isn't this a bug in dhclient? Not a real solution, but you could use the internal DHCP client, by setting [main] dhcp=internal in NetworkManager.conf. Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
