From a99a0d194df984286b9d2b2ea7f3459af5a0de1f Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 20 Jan 2016 10:26:59 +0100 Subject: [PATCH] dhcp: clear watch_id in child-watch callback --- src/dhcp-manager/nm-dhcp-client.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c index 59c69c2af..862bde7a0 100644 --- a/src/dhcp-manager/nm-dhcp-client.c +++ b/src/dhcp-manager/nm-dhcp-client.c @@ -361,6 +361,9 @@ daemon_watch_cb (GPid pid, gint status, gpointer user_data) guint64 log_domain; guint ip_ver; + g_return_if_fail (priv->watch_id); + priv->watch_id = 0; + log_domain = priv->ipv6 ? LOGD_DHCP6 : LOGD_DHCP4; ip_ver = priv->ipv6 ? 6 : 4; @@ -402,7 +405,7 @@ nm_dhcp_client_watch_child (NMDhcpClient *self, pid_t pid) priv->timeout_id = g_timeout_add_seconds (priv->timeout, daemon_timeout, self); - g_assert (priv->watch_id == 0); + g_return_if_fail (priv->watch_id == 0); priv->watch_id = g_child_watch_add (pid, daemon_watch_cb, self); }