]> git.pld-linux.org Git - packages/glibc.git/blobdiff - nscd.init
- rel 10; update from upstream
[packages/glibc.git] / nscd.init
index 3905f7fcf8922c3e9216e36284aff59383ab8d16..0b478d501088a34153eee64efa37ecf0c00e047c 100644 (file)
--- a/nscd.init
+++ b/nscd.init
@@ -1,56 +1,92 @@
-#!/bin/bash
+#!/bin/sh
 #
 # nscd:                Starts the Name Switch Cache Daemon
 #
-# chkconfig: - 30 80
-# description:  This is a daemon which handles passwd and group lookups \
+# chkconfig:   345 30 80
+# description: This is a daemon which handles passwd and group lookups \
 #              for running programs and cache the results for the next \
-#              query.  You should start this daemon only if you use \
+#              query. You should start this daemon only if you use \
 #              slow Services like NIS or NIS+
-# processname: nscd
-# config: /etc/nscd.conf
+# processname: nscd
+# config:      /etc/nscd.conf
 #
 
 # Sanity checks.
 [ -f /etc/nscd.conf ] || exit 0
-[ -x /usr/sbin/nscd ] || exit 0
 
 # Source function library.
 . /etc/rc.d/init.d/functions
 
+# Get sysconfig
+[ -f /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd
+
+start() {
+       if [ ! -f /var/lock/subsys/nscd ]; then
+               msg_starting "Name Switch Cache Daemon"
+               daemon /usr/sbin/nscd
+               RETVAL=$?
+               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
+       else
+               msg_already_running "Name Switch Cache Daemon"
+       fi
+}
+
+stop() {
+       if [ -f /var/lock/subsys/nscd ]; then
+               msg_stopping "Name Switch Cache Daemon"
+               killproc --pidfile /var/run/nscd/nscd.pid nscd -TERM
+               rm -f /var/lock/subsys/nscd >/dev/null 2>&1
+       else
+               msg_not_running "Name Switch Cache Daemon"
+       fi
+}
+
+condrestart() {
+       if [ -f /var/lock/subsys/nscd ]; then
+               stop
+               start
+       else
+               msg_not_running "Name Switch Cache Daemon"
+               RETVAL=$1
+       fi
+}
+
+RETVAL=0
 # See how we were called.
 case "$1" in
-    start)
-       secure=""
-#      for table in passwd group
-#      do
-#              if egrep '^'$table':.*nisplus' /etc/nsswitch.conf >/dev/null
-#              then
-#                      /usr/lib/nscd_nischeck $table ||
-#                              secure="$secure -S $table,yes"
-#              fi
-#      done
-        show Starting Name Switch Cache Daemon
-       daemon nscd $secure
-        touch /var/lock/subsys/nscd
+  start)
+       start
+       ;;
+  stop)
+       stop
        ;;
-    stop)
-       show Stopping Name Switch Cache Daemon
-       busy
-       /usr/sbin/nscd -K
-        rm -f /var/lock/subsys/nscd
-        deltext
-       ok
+  restart)
+       stop
+       start
+       ;;
+  try-restart)
+       condrestart 0
+       ;;
+  force-reload)
+       condrestart 7
+       ;;
+  reload)
+       if [ -f /var/lock/subsys/nscd ]; then
+               for db in passwd group hosts; do
+                       show "Invalidating %s cache" $db; busy
+                       nscd -i $db && ok || fail
+               done
+       else
+               msg_not_running "Name Switch Cache Daemon"
+       fi
        ;;
   status)
-        status nscd
-        ;;
-  restart|reload)
-        $0 stop
-        $0 start
-        ;;
-    *)
-       echo "Usage: $0 {start|stop|status|restart|reload}"
+       status nscd
+       exit $?
        ;;
+  *)
+       msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
+       exit 3
 esac
-exit 0
+
+exit $RETVAL
This page took 0.049155 seconds and 4 git commands to generate.