Improve error handling in grml-bridge v0.2.6
authorMichael Prokop <mika@grml.org>
Wed, 8 Apr 2009 22:13:38 +0000 (00:13 +0200)
committerMichael Prokop <mika@grml.org>
Wed, 8 Apr 2009 22:15:38 +0000 (00:15 +0200)
sbin/grml-bridge

index c7decc7..c74c8cc 100755 (executable)
@@ -45,7 +45,7 @@ case "$1" in
                 no|false)
                     ;;
                 *)
-                    einfo "Setting Spanning-Tree Protocol (STP) to status"
+                    einfo "Setting Spanning-Tree Protocol (STP) to status $STP"
                     brctl stp "$BRIDGE_NAME" $STP
                     eend $?
                     ;;
@@ -92,7 +92,9 @@ case "$1" in
         eindent
             if [ $BRIDGE_CONFIG = DHCP ]; then
                einfo "Terminating dhclient for $BRIDGE_NAME"
-               kill $(cat /var/run/dhclient.$BRIDGE_NAME.pid);
+               if [ -r "/var/run/dhclient.$BRIDGE_NAME.pid" ] ; then
+                 kill "$(cat /var/run/dhclient.$BRIDGE_NAME.pid)" || /bin/true
+               fi
             fi
             einfo "Removing network devices from $BRIDGE_NAME: "
 
@@ -115,6 +117,7 @@ case "$1" in
             ip link set "$BRIDGE_NAME" down; eend $?
 
             einfo "Removing bridge device"
+            ifconfig "$BRIDGE_NAME" down || /bin/true
             brctl delbr "$BRIDGE_NAME"
             eend $?
         eoutdent