slackbuilds_ponce/network/NetworkManager/patches/dhcp-ensure-that-dhcp-client-is-exited.patch
Robby Workman 4851069dfd network/NetworkManager: Included several patches from upstream
This commit adds quite a few patches from the upstream
NM_0_8 git branch.  Most of them are bugfix-only patches,
but the two dealing with /etc/hosts policy are changes in
behavior.  This *should* be an improvement for us, but if
you notice any ill effects, please advise.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
2011-01-10 12:44:27 -06:00

38 lines
1.1 KiB
Diff

From 3d3c87774381cee77bae911367a12e8c86d6ad99 Mon Sep 17 00:00:00 2001
From: Mikhail Efremov <sem@altlinux.org>
Date: Fri, 19 Nov 2010 16:52:55 -0600
Subject: [PATCH 3/4] dhcp: ensure that dhcp client is exited
On restart ensure that the client we're trying to kill has
actually exited even if it's not our child.
---
src/dhcp-manager/nm-dhcp-client.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c
index 0c7f3d4..3a8b194 100644
--- a/src/dhcp-manager/nm-dhcp-client.c
+++ b/src/dhcp-manager/nm-dhcp-client.c
@@ -156,11 +156,15 @@ stop_process (GPid pid, const char *iface)
if (ret == -1) {
/* Child already exited */
- if (errno == ECHILD)
+ if (errno == ECHILD) {
+ /* Was it really our child and it exited? */
+ if (kill (pid, 0) < 0 && errno == ESRCH)
+ break;
+ } else {
+ /* Took too long; shoot it in the head */
+ i = 0;
break;
- /* Took too long; shoot it in the head */
- i = 0;
- break;
+ }
}
g_usleep (G_USEC_PER_SEC / 5);
}
--
1.7.3.4