X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=nscd.init;h=500ebfb90930947037395fc93d9004cad281a6fc;hb=d6e3a99e878738b98d3671e8c05589cfe3f8fed1;hp=2e359ab810fce5335cb73a3202b45362b8d83ab9;hpb=7051f56ea34c4de8d781a2be85252216d835c8b9;p=packages%2Fglibc.git diff --git a/nscd.init b/nscd.init index 2e359ab..500ebfb 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 @@ -21,21 +20,18 @@ # 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 - ;; - stop) +} + +stop() { if [ -f /var/lock/subsys/nscd ]; then msg_stopping "Name Switch Cache Daemon" busy @@ -44,20 +40,64 @@ case "$1" in 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 +} + +upstart_controlled --except reload + +# return true if service is considered "up" +# with upstart, upstart is consulted +# otherwise lockfile in subsys must exist +is_service_up() { + use_upstart && is_upstart_running "$1" || [ -f /var/lock/subsys/"$1" ] +} + +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 is_service_up 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 + exit $? ;; *) - msg_usage "$0 {start|stop|restart|reload|status}" - exit 1 - ;; + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" + exit 3 esac exit $RETVAL