diff options
-rwxr-xr-x | sysconfig/network-scripts/ifup-eth | 10 |
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." |