aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsysconfig/network-scripts/ifup-eth10
1 files changed, 9 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth
index ea89e64d..b96a18b0 100755
--- a/sysconfig/network-scripts/ifup-eth
+++ b/sysconfig/network-scripts/ifup-eth
@@ -167,11 +167,19 @@ if [ -n "${DYNCONFIG}" -a -x /sbin/dhclient ]; then
exit 1
fi
+ # Check for a a running instance
+ if [ -f /var/run/dhclient-${DEVICE}.pid ]; then
+ dhcpid=`cat /var/run/dhclient-${DEVICE}.pid`
+ if [[ "`readlink /proc/$dhcpid/exe`" =~ "^/sbin/dhclient" ]]; then
+ echo $" failed - dhclient already running for interface ${DEVICE} ($dhcpid)."
+ exit 1
+ fi
+
if [ -n "$ETHTOOL_OPTS" ] ; then
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
fi
- if /sbin/dhclient ${DHCLIENTARGS} ${DEVICE} ; then
+ if /sbin/dhclient ${DHCLIENTARGS} ${DEVICE} >/dev/null 2>&1 ; then
echo $" done."
else
echo $" failed."