Prechádzať zdrojové kódy

%status and pidfile handling

Michael van Elst 22 rokov pred
rodič
commit
ec077e6024
2 zmenil súbory, kde vykonal 19 pridanie a 10 odobranie
  1. 1 1
      dhcpd/dhcpd.spec
  2. 18 9
      dhcpd/rc.dhcpd

+ 1 - 1
dhcpd/dhcpd.spec

@@ -33,7 +33,7 @@ Distribution: OpenPKG [BASE]
 Group:        DNS
 License:      ISC/BSD
 Version:      3.0.1rc11
-Release:      20030717
+Release:      20030718
 
 #   list of sources
 Source0:      ftp://ftp.isc.org/isc/dhcp/dhcp-%{version}.tar.gz

+ 18 - 9
dhcpd/rc.dhcpd

@@ -6,27 +6,36 @@
 %config
     dhcpd_enable="$openpkg_rc_def"
 
+%common
+    dhcpd_pidfile="@l_prefix@/var/dhcpd/dhcpd.pid"
+    dhcpd_signal () {
+        [ -f $dhcpd_pidfile ] && kill -$1 `cat $dhcpd_pidfile`
+    }
+
+%status -p 200 -u @l_susr@ -o
+    dhcpd_usable="unknown"
+    dhcpd_active="no"
+    opService dhcpd enable yes && \
+        dhcpd_signal 0 && dhcpd_active="yes"
+    echo "dhcpd_enable=\"$dhcpd_enable\""
+    echo "dhcpd_usable=\"$dhcpd_usable\""
+    echo "dhcpd_active=\"$dhcpd_active\""
+
 %start -p 200 -u @l_susr@
     opService dhcpd enable yes || exit 0
     @l_prefix@/sbin/dhcpd >/dev/null 2>&1
 
 %stop -p 200 -u @l_susr@
     opService dhcpd enable yes || exit 0
-    if [ -f @l_prefix@/var/dhcpd/dhcpd.pid ]; then
-        kill -TERM `cat @l_prefix@/var/dhcpd/dhcpd.pid`
-    fi
+    dhcpd_signal TERM
 
 %restart -u @l_susr@
     opService dhcpd enable yes || exit 0
-    if [ -f @l_prefix@/var/dhcpd/dhcpd.pid ]; then
-        kill -TERM `cat @l_prefix@/var/dhcpd/dhcpd.pid`
-    fi
+    dhcpd_signal TERM
     sleep 2
     @l_prefix@/sbin/dhcpd >/dev/null 2>&1
 
 %reload -u @l_susr@
     opService dhcpd enable yes || exit 0
-    if [ -f @l_prefix@/var/dhcpd/dhcpd.pid ]; then
-        kill -HUP `cat @l_prefix@/var/dhcpd/dhcpd.pid`
-    fi
+    dhcpd_signal HUP