]> git.pld-linux.org Git - packages/XFree86.git/blobdiff - xdm.init
- use functions
[packages/XFree86.git] / xdm.init
index 12aab4ee777321e4baeedbd184fa883eaa763d6b..bf9e8a60ec27232781d72f298de372a842d6219a 100644 (file)
--- a/xdm.init
+++ b/xdm.init
@@ -4,7 +4,7 @@
 #
 # Version:     @(#) /etc/rc.d/init.d/xdm 1.3
 #
-# chkconfig:   5 95 5
+# chkconfig:   5 95 05
 # description: Starts and stops the X Display Manager at startup and \
 #              shutdown. can run one of several display managers; gdm, kdm, \
 #              or xdm, in that order of preferential treatment.
@@ -20,21 +20,18 @@ if [ -f /etc/sysconfig/xdm ]; then
        . /etc/sysconfig/xdm
 fi
 
-RETVAL=0
-# See how we were called.
-case "$1" in
-  start)
-       # Check if the service is already running?
+start() {
        if [ ! -f /var/lock/subsys/xdm ]; then
                msg_starting "X Display Manager"
-               daemon /usr/X11R6/bin/xdm
+               daemon xdm
                RETVAL=$?
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xdm
        else
                msg_already_running "X Display Manager"
        fi
-       ;;
-  stop)
+}
+
+stop() {
        if [ -f /var/lock/subsys/xdm ]; then
                msg_stopping "X Display Manager"
                killproc xdm
@@ -42,18 +39,43 @@ case "$1" in
        else
                msg_not_running "X Display Manager"
        fi
+}
+
+condrestart() {
+       if [ -f /var/lock/subsys/xdm ]; then
+               stop
+               start
+       else
+               msg_not_running xdm
+               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
        ;;
   status)
        status xdm
        exit $?
        ;;
-  restart|force-reload)
-       $0 stop
-       $0 start
-       exit $?
-       ;;
   *)
-       msg_usage "$0 {start|stop|restart|force-reload|status}"
+       msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
        exit 3
 esac
 
This page took 0.043157 seconds and 4 git commands to generate.