[package] fix killing and starting of dhcp (#6919)
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 11 Apr 2010 21:07:54 +0000 (21:07 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 11 Apr 2010 21:07:54 +0000 (21:07 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@20814 3c298f89-4303-0410-b956-a3cf2f4a3e73

net/dhcp/Makefile
net/dhcp/files/dhcpd.init

index 079e311..409adfc 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dhcp
 PKG_VERSION:=3.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.isc.org/isc/dhcp/
index c874552..c9ac1e3 100644 (file)
@@ -6,6 +6,11 @@ config_file=/etc/dhcpd.conf
 pid_file=/var/run/dhcpd.pid
 
 start() {
+       if [ -e $pid_file ] ; then
+            echo "  dhcpd already running with PID `cat $pid_file`"
+           return 1
+        fi
+
        echo Starting isc-dhcpd
 
        if [ ! -e $lease_file ]; then
@@ -23,14 +28,14 @@ start() {
 stop() {
        echo "Stopping isc-dhcpd"
        if [ -e $pid_file ]; then
-               kill `cat $pid_file`
+               kill -KILL `cat $pid_file`
 
                if [ $? -ne 0 ]; then
                        echo "  PID " `cat $pid_file` not found
                        echo "  Is the DHCP server running?"
                fi
        
-               rm $pid_file
+               rm -f $pid_file
        else
                echo "  $pid_file not found"
        fi