]> git.pld-linux.org Git - packages/glibc.git/blobdiff - nscd.init
- rel 10; update from upstream
[packages/glibc.git] / nscd.init
index 48f3ecd2120dfb46ddf550f19ed404d445ca3f14..0b478d501088a34153eee64efa37ecf0c00e047c 100644 (file)
--- a/nscd.init
+++ b/nscd.init
@@ -2,51 +2,91 @@
 #
 # nscd:                Starts the Name Switch Cache Daemon
 #
-# chkconfig: 345 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
-if [ -f /etc/sysconfig/nscd ]; then
-    . /etc/sysconfig/nscd
-fi
-  
+[ -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)
-        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.077766 seconds and 4 git commands to generate.