X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nscd.init;h=0b478d501088a34153eee64efa37ecf0c00e047c;hb=66aa4e3410cdaa86dbf41da9f91300f1061eadcc;hp=539b2693f41b0e0b75c140a7f105784d79ea55c2;hpb=d0f1f4fab4de581e654e6b56dc695b56b6681934;p=packages%2Fglibc.git diff --git a/nscd.init b/nscd.init index 539b269..0b478d5 100644 --- a/nscd.init +++ b/nscd.init @@ -13,52 +13,80 @@ # 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 - -# See how we were called. -case "$1" in - start) - touch /var/lock/subsys/nscd + +start() { if [ ! -f /var/lock/subsys/nscd ]; then - msg_starting "nscd" - daemon nscd + msg_starting "Name Switch Cache Daemon" + daemon /usr/sbin/nscd RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd else - msg_Already_Running "nscd" - exit 1 + msg_already_running "Name Switch Cache Daemon" fi - ;; - stop) +} + +stop() { if [ -f /var/lock/subsys/nscd ]; then msg_stopping "Name Switch Cache Daemon" - busy - /usr/sbin/nscd -K + killproc --pidfile /var/run/nscd/nscd.pid nscd -TERM rm -f /var/lock/subsys/nscd >/dev/null 2>&1 - deltext - ok else - msg_Not_Running "nscd" - exit 1 - fi + 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) + start + ;; + stop) + stop + ;; + 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 - ;; - *) - msg_Usage "$0 {start|stop|status|restart|reload}" - exit 1 + status nscd + exit $? ;; + *) + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" + exit 3 esac exit $RETVAL