]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - etc/redhat/nfslock.init
fix fd bug
[nfs-utils.git] / etc / redhat / nfslock.init
index 469840ce99a95e50eae9cc7e3212018243921bf9..2f99c45a0f2498afbdea0388601d1bbaa47554c9 100755 (executable)
@@ -3,7 +3,7 @@
 # nfslock       This shell script takes care of starting and stopping
 #               the NFS file locking service.
 #
-# chkconfig: 345 60 20
+# chkconfig: 345 60 86
 # description: NFS is a popular protocol for file sharing across \
 #             TCP/IP networks. This service provides NFS file \
 #             locking functionality.
@@ -25,6 +25,12 @@ fi
 [ -x /sbin/rpc.lockd ] || exit 0
 [ -x /sbin/rpc.statd ] || exit 0
 
+if [ -n "${STATD_HOSTNAME}" ]; then
+    STATDARG="-n ${STATD_HOSTNAME}"
+else
+    STATDARG=""
+fi
+
 # See how we were called.
 case "$1" in
   start)
@@ -34,7 +40,7 @@ case "$1" in
        daemon rpc.lockd
        echo
        echo -n "Starting NFS statd: "
-       daemon rpc.statd
+       daemon rpc.statd ${STATDARG}
        echo
        touch /var/lock/subsys/nfslock
        ;;
@@ -45,7 +51,7 @@ case "$1" in
        if [ -n "$pidlist" ]; then
                pid=
                for apid in $pidlist ; do
-                       [ -d /proc/$apid ] && pid="$pid $apid"
+                       [ -f /proc/$apid/exe ] && pid="$pid $apid"
                done
                if [ -n "$pid" ]; then
                        echo -n "Shutting down NFS lockd: "
@@ -63,15 +69,8 @@ case "$1" in
        status rpc.statd
        ;;
   restart)
-       echo -n "Restarting NFS file locking services: "
-       echo -n "rpc.lockd "
-       killproc lockd
-       daemon rpc.lockd
-       echo -n "rpc.statd "
-       killproc rpc.statd
-       daemon rpc.statd
-       touch /var/lock/subsys/nfslock
-       echo "done."
+       $0 stop
+       $0 start
        ;;
   probe)
        if [ ! -f /var/lock/subsys/nfslock ] ; then