]> git.pld-linux.org Git - packages/acpid.git/blob - acpid.init
- add try-restart
[packages/acpid.git] / acpid.init
1 #!/bin/sh
2 #
3 # acpid         Starts the acpi daemon
4 #
5 # chkconfig:    345 44 56
6 # description:  Listen and dispatch ACPI events from the kernel
7 # processname:  acpid
8 #
9 # pidfile:      /var/run/acpid.pid
10
11 # Source function library.
12 . /etc/rc.d/init.d/functions
13
14 # Initial values (just in case):
15 LAPTOP_MODULES=""
16 VARIOUS_MODULES=""
17 ASUS_LAPTOP=""
18 TOSHIBA_LAPTOP=""
19
20 # Configuration file.
21 . /etc/sysconfig/acpid
22
23 # Start daemons.
24 start() {
25         if [ ! -f /var/lock/subsys/acpid ]; then
26                 msg_already_running "ACPI Event Daemon"
27                 return
28         fi
29         
30         if [ ! -d /proc/acpi/button ]; then
31                 modprobe -s ospm_button
32                 modprobe -s button
33         fi
34         if [ "$(kernelverser)" -lt "002006" ] && is_yes "$MODPROBE_OSPM_SYSTEM"; then
35                 modprobe -s ospm_system
36         fi
37         # Load additional modules:
38         if [ -n "$LAPTOP_MODULES" ]; then
39                 for i in $LAPTOP_MODULES; do
40                         modprobe -s $i
41                 done
42         fi
43         if [ -n "$VARIOUS_MODULES" ]; then
44                 for i in $VARIOUS_MODULES; do
45                         modprobe -s $i
46                 done
47         fi
48         # Determine if it's ASUS or TOSHIBA laptop
49         if is_yes "$ASUS_LAPTOP"; then
50                 modprobe -s asus_acpi
51         elif is_yes "$TOSHIBA_LAPTOP"; then
52                 modprobe -s toshiba_acpi
53         elif is_yes "$IBM_LAPTOP"; then
54                 modprobe -s ibm_acpi
55         fi
56
57         # starting:
58         msg_starting "ACPI Event Daemon"
59         daemon /usr/sbin/acpid $PROGRAM_ARGS
60         RETVAL=$?
61         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
62 }
63
64 # Stop daemons.
65 stop() {
66         if [ ! -f /var/lock/subsys/acpid ]; then
67                 msg_not_running "ACPI Event Daemon"
68                 return
69         fi
70
71         msg_stopping "ACPI Event Daemon"
72         killproc acpid
73         rm -f /var/lock/subsys/acpid >/dev/null 2>&1
74 }
75
76 condrestart() {
77         if [ ! -f /var/lock/subsys/acpid ]; then
78                 msg_not_running "ACPI Event Daemon"
79                 RETVAL=$1
80                 return
81         fi
82
83         stop
84         start
85 }
86
87 RETVAL=0
88 # See how we were called.
89 case "$1" in
90   start)
91         start
92         ;;
93   stop)
94         stop
95         ;;
96   restart)
97         stop
98         start
99         ;;
100   try-restart)
101         condrestart 0
102         ;;
103   reload|force-reload)
104         if [ -f /var/lock/subsys/acpid ]; then
105                 msg_reloading "ACPI Event Daemon"
106                 killproc acpid -HUP
107                 RETVAL=$?
108         else
109                 msg_not_running "ACPI Event Daemon"
110                 exit 7
111         fi
112         ;;
113   status)
114         status acpid
115         ;;
116   *)
117         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
118         exit 3
119 esac
120
121 exit $RETVAL
This page took 0.387383 seconds and 3 git commands to generate.