From: Denys Vlasenko Date: Sun, 2 May 2010 18:30:28 +0000 (+0200) Subject: ifdown: use /var/run/udhcpc.%iface%.pid only if it exists X-Git-Tag: 1_17_0~261 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=78abf88dcc5d39ef3a36477300ed00a730ce6daa;p=oweals%2Fbusybox.git ifdown: use /var/run/udhcpc.%iface%.pid only if it exists Signed-off-by: Denys Vlasenko --- diff --git a/networking/ifupdown.c b/networking/ifupdown.c index bf88b1c19..2f3dd1d7b 100644 --- a/networking/ifupdown.c +++ b/networking/ifupdown.c @@ -573,8 +573,10 @@ static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) { int result; - result = execute("kill " - "`cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", ifd, exec); + result = execute( + "test -f /var/run/udhcpc.%iface%.pid && " + "kill `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", + ifd, exec); /* Also bring the hardware interface down since killing the dhcp client alone doesn't do it. This enables consecutive ifup->ifdown->ifup */