]> git.meshlink.io Git - catta/blobdiff - initscript/debian/avahi-dnsconfd.in
fix logic of AVAHI_SERVER_REGISTERING state handling. Many clients assumed that
[catta] / initscript / debian / avahi-dnsconfd.in
index 649d72f2b1fbd40c638f1ec244caa2ad1b321070..c7cbf05fa804204013e2c1a636cef52fcd365a8e 100755 (executable)
@@ -91,6 +91,9 @@ test -x $DAEMON || exit 0
 #       Function that starts the daemon/service.
 #
 d_start() {
+    $DAEMON -c
+    [ $? = 0 ] && exit 0
+
     if [ -s /etc/localtime ]; then
        if [ ! -d /etc/avahi/etc ]; then
            mkdir -p @sysconfdir@/avahi/etc >/dev/null 2>&1
@@ -105,16 +108,29 @@ d_start() {
 #       Function that stops the daemon/service.
 #
 d_stop() {
-    $DAEMON -k || /bin/true
+    $DAEMON -c
+    [ $? != 0 ] && exit 0
+
+    $DAEMON -k
 }
 
 #
 #       Function that reload the config file for the daemon/service.
 #
 d_refresh() {
+    $DAEMON -c
+    [ $? != 0 ] && exit 0
+
     $DAEMON -r
 }
 
+#
+#       Function that check the status of the daemon/service.
+#
+d_status() {
+    $DAEMON -c
+    [ $? = 0 ]  && echo "$DESC is running" || echo "$DESC is not running"
+}
 
 case "$1" in
     start)
@@ -134,11 +150,14 @@ case "$1" in
         ;;
     reload|restart|force-reload)
         log_begin_msg "Restarting $DESC: $NAME"
-        d_stop
+        $DAEMON -c && d_stop
         d_start
         log_end_msg $?
         ;;
-  *)
+    status)
+        d_status
+       ;;
+    *)
         echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
         exit 1
         ;;