]> git.pld-linux.org Git - packages/maradns.git/blobdiff - maradns.init
- added -default_uid patch
[packages/maradns.git] / maradns.init
index ac5cc82aa35f14cd60705ce3c8de46d7f3a23281..1b9b80f25cb281eeff4a671559e5a06489f0f301 100644 (file)
 . /etc/sysconfig/network
 
 # Check that networking is up.
-if is_no "${NETWORKING}"; then
-        msg_Network_Down "maraDNS"
-       exit 1
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+               msg_network_down "maraDNS"
+               exit 1
+       fi
+else
+       exit 0
 fi
                        
 # Sanity check
 [ -e /etc/mararc ] || exit 0
 
+RETVAL=0
 # See how we were called.
 case "$1" in
   start)
        # Check if the service is already running?
        if [ ! -f /var/lock/subsys/maradns ]; then
                msg_starting "maraDNS"
-               daemon maradns -f /etc/mararc
-               RETVAL=$?
-               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/maradns
+               maradns -f /etc/mararc > /var/log/maradns &
+               busy
+               # what if it won't start on time? wait a bit for it :)
+               sleep 1 
+               pid=`pidofproc maradns`
+               if [ -n "$pid" ]; then
+                       touch /var/lock/subsys/maradns
+                       log_success "maradns startup"
+                       ok
+               else
+                       RETVAL=1
+                       log_failed "maradns startup"
+                       fail
+               fi
        else
-               msg_Already_Running "maraDNS"
-               exit 1
+               msg_already_running "maraDNS"
        fi
-        ;;
+       ;;
   stop)
-        if [ -f /var/lock/subsys/maradns ]; then
-               msg_stopping "maraDNS"
-               killproc maradns
-               rm -f /var/lock/subsys/maradns >/dev/null 2>&1
-        else
-               msg_Not_Running "maraDNS"
-                exit 1
-        fi
+       if [ -f /var/lock/subsys/maradns ]; then
+               msg_stopping "maraDNS"
+               killproc maradns
+               rm -f /var/lock/subsys/maradns >/dev/null 2>&1
+       else
+               msg_not_running "maraDNS"
+       fi
        ;;
   status)
-# "status" Not implemented yet
-#      /usr/sbin/rndc status
-#      exit $?
        status maradns
+       exit $?
        ;;
-  reload)
-        if [ -f /var/lock/subsys/maradns ]; then
-               msg_reloading "maraDNS"
-               killproc maradns -HUP
-       else
-               msg_Not_Running "maraDNS"
-               exit 1
-       fi
-                                                                                                                                                                                       
-       ;;
-  restart)
+  restart|force-reload)
        $0 stop
        $0 start
+       exit $?
        ;;
   *)
-        msg_Usage "$0 {start|stop|status|reload|restart}"
-        exit 1
+       msg_usage "$0 {start|stop|restart|force-reload|status}"
+       exit 3
 esac
 
 exit $RETVAL
This page took 0.034709 seconds and 4 git commands to generate.