From cda2a30cad994f3817513bf598ef2de16e4ebab5 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Fri, 15 Apr 2005 16:48:07 +0000 Subject: check the pid file so we can print a sane error message (#143640) --- sysconfig/network-scripts/ifup-eth | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'sysconfig') 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." -- cgit v1.2.1