X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nscd.init;h=0b478d501088a34153eee64efa37ecf0c00e047c;hb=66aa4e3410cdaa86dbf41da9f91300f1061eadcc;hp=fccb928e0c5e21877880de417e475979a3d0bea0;hpb=fc29e4cbebfe1c33219a18eead3ee55b40a83fdc;p=packages%2Fglibc.git diff --git a/nscd.init b/nscd.init index fccb928..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) + +start() { if [ ! -f /var/lock/subsys/nscd ]; then msg_starting "Name Switch Cache Daemon" - daemon nscd + daemon /usr/sbin/nscd RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd else msg_already_running "Name Switch Cache Daemon" - exit 1 fi - touch /var/lock/subsys/nscd - ;; - 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 "Name Switch Cache Daemon" - exit 1 - fi + 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