From 94b4e1515fac9b6e59e53789fbb93caca423e84a Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Mon, 25 Jan 2016 09:47:02 +0100 Subject: dhcp/systemd: disable callback before stopping the client Otherwise the call to stop() would generate a new unwanted state transition. --- src/dhcp-manager/nm-dhcp-systemd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/dhcp-manager/nm-dhcp-systemd.c b/src/dhcp-manager/nm-dhcp-systemd.c index ca4027e8dd..2dc351dbee 100644 --- a/src/dhcp-manager/nm-dhcp-systemd.c +++ b/src/dhcp-manager/nm-dhcp-systemd.c @@ -815,10 +815,13 @@ stop (NMDhcpClient *client, gboolean release, const GByteArray *duid) NMDhcpSystemdPrivate *priv = NM_DHCP_SYSTEMD_GET_PRIVATE (client); int r = 0; - if (priv->client4) + if (priv->client4) { + sd_dhcp_client_set_callback (priv->client4, NULL, NULL); r = sd_dhcp_client_stop (priv->client4); - else if (priv->client6) + } else if (priv->client6) { + sd_dhcp6_client_set_callback (priv->client6, NULL, NULL); r = sd_dhcp6_client_stop (priv->client6); + } if (r) { nm_log_warn (priv->client6 ? LOGD_DHCP6 : LOGD_DHCP4, -- cgit v1.2.1