Tizen 2.1 base
[external/device-mapper.git] / scripts / cmirrord_init_red_hat.in
1 #!/bin/bash
2 #
3 # chkconfig: - 22 78
4 # description: Starts and stops cmirrord
5 #
6 # For Red-Hat-based distributions such as Fedora, RHEL, CentOS.
7 #
8 ### BEGIN INIT INFO
9 # Provides: cmirrord
10 # Required-Start:       $network $time $local_fs
11 # Required-Stop:        $network $time $local_fs
12 # Short-Description:    Starts and stops cmirrord
13 # Description:    Starts and stops the cluster mirror log daemon
14 ### END INIT INFO
15
16 . /etc/init.d/functions
17
18 DAEMON=cmirrord
19
20 LOCK_FILE="/var/lock/subsys/$DAEMON"
21
22 start()
23 {
24         if ! pidof $DAEMON > /dev/null 
25         then 
26                 echo -n "Starting $DAEMON: "
27                 daemon $DAEMON
28                 rtrn=$?
29                 echo
30         fi
31
32         return $rtrn
33 }
34
35 stop()
36 {
37         echo -n "Stopping $DAEMON:"
38         killproc $DAEMON -TERM
39         rtrn=$?
40         echo
41
42         return $rtrn
43 }
44
45 wait_for_finish()
46 {
47         count=0
48
49         while [ "$count" -le 10 -a -n "`pidof $DAEMON`" ]
50         do
51                 sleep 1
52                 count=$((count + 1))
53         done
54         
55         if [ `pidof $DAEMON` ]
56         then
57                 return 1
58         else
59                 return 0
60         fi
61 }
62
63 cmirror_status()
64 {
65         status $DAEMON
66 }
67
68 rtrn=1
69
70 # See how we were called.
71 case "$1" in
72         start)
73                 start
74                 rtrn=$?
75                 [ $rtrn = 0 ] && touch $LOCK_FILE
76                 ;;
77
78         stop)
79                 stop
80                 rtrn=$?
81                 [ $rtrn = 0 ] && rm -f $LOCK_FILE
82                 ;;
83
84         restart)
85                 if stop
86                 then
87                         wait_for_finish
88                         start
89                 fi
90                 rtrn=$?
91                 ;;
92
93         status)
94                 cmirror_status
95                 rtrn=$?
96                 if [ $rtrn -eq 0 ]; then
97                         echo "cmirror is running."
98                 fi
99                 ;;
100
101         *)
102                 echo $"Usage: $0 {start|stop|restart|status}"
103                 ;;
104 esac
105
106 exit $rtrn