aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsysconfig/network-scripts/ifdown-eth11
1 files changed, 8 insertions, 3 deletions
diff --git a/sysconfig/network-scripts/ifdown-eth b/sysconfig/network-scripts/ifdown-eth
index bc34f856..a9570c01 100755
--- a/sysconfig/network-scripts/ifdown-eth
+++ b/sysconfig/network-scripts/ifdown-eth
@@ -58,14 +58,19 @@ fi;
retcode=0
[ -n "`pidof -x dhclient`" ] && {
if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then
+ dhcpid=`cat /var/run/dhclient-${DEVICE}.pid`
if [[ "$DHCPRELEASE" = [yY1]* ]]; then
/sbin/dhclient -r -lf /var/lib/dhcp/dhclient-${DEVICE}.leases -pf /var/run/dhclient-${DEVICE}.pid ${DEVICE} >/dev/null 2>&1
+ retcode=$?
else
+ kill $dhcpid >/dev/null 2>&1
+ retcode=$?
reason=STOP interface=${DEVICE} /sbin/dhclient-script
fi
- kill `cat /var/run/dhclient-${DEVICE}.pid` >/dev/null 2>&1
- retcode=$?
- rm -f /var/run/dhclient-${DEVICE}.pid
+ if [ -f "/var/run/dhclient-${DEVICE}.pid" ]; then
+ rm -f /var/run/dhclient-${DEVICE}.pid
+ kill $dhcpid >/dev/null 2>&1
+ fi
fi
}
# we can't just delete the configured address because that address