X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nscd.init;h=0b478d501088a34153eee64efa37ecf0c00e047c;hb=16d3a7330d2d8e09fb04b261dc4812a9642b0d66;hp=dfb86bd02218eec839d26ac7cf84e964b03682fd;hpb=57da80b171c677c0e9dc28a1a117b60e23149c5d;p=packages%2Fglibc.git diff --git a/nscd.init b/nscd.init index dfb86bd..0b478d5 100644 --- a/nscd.init +++ b/nscd.init @@ -13,7 +13,6 @@ # Sanity checks. [ -f /etc/nscd.conf ] || exit 0 -[ -x /usr/sbin/nscd ] || exit 0 # Source function library. . /etc/rc.d/init.d/functions @@ -24,7 +23,7 @@ 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 @@ -35,40 +34,58 @@ start() { 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 - ok 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) - start + start ;; stop) - stop + stop ;; - status) - status nscd - exit $? + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + force-reload) + condrestart 7 ;; reload) - for db in passwd group hosts; do - show "Invalidating %s cache" $db; busy - nscd -i $db && ok || fail - done + 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 ;; - restart|force-reload) - stop - start + status) + status nscd + exit $? ;; *) - msg_usage "$0 {start|stop|restart|reload|force-reload|status}" + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" exit 3 esac