]> git.pld-linux.org Git - packages/acpid.git/blob - acpid.init
- updated to 2.0.34, include x32
[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 MODULES=""
20
21 # Configuration file.
22 . /etc/sysconfig/acpid
23
24 # As the name says. If the kernel supports modules,
25 # it'll try to load the ones listed in "MODULES".
26 load_modules() {
27         [ -f /proc/modules ] || return 0
28
29         if [ "$MODULES" = "all" ]; then
30                 MODULES=$(sed -rn 's#^kernel/(drivers/acpi|drivers/misc/.*_acpi)/([^/]+/)*(.*)\.ko\.gz:.*#\3#p' /lib/modules/$(uname -r)/modules.dep)
31         else
32                 # assemble from old lists
33                 MODULES="$MODULES $LAPTOP_MODULES"
34                 MODULES="$MODULES $VARIOUS_MODULES"
35                 if is_yes "$ASUS_LAPTOP"; then
36                         MODULES="$MODULES asus_acpi"
37                 fi
38                 if is_yes "$TOSHIBA_LAPTOP"; then
39                         MODULES="$MODULES toshiba_acpi"
40                 fi
41                 if is_yes "$IBM_LAPTOP"; then
42                         MODULES="$MODULES ibm_acpi"
43                 fi
44                 # strip spaces
45                 MODULES=$(echo ${MODULES})
46         fi
47
48         if [ -z "$MODULES" ]; then
49                 return
50         fi
51
52         # see if the modules are already loaded
53         if [ "$(lsmod | grep -E '^('$(echo $MODULES | tr ' ' '|')')\b' | wc -l)" = "$(echo $MODULES | wc -w)" ]; then
54                 return
55         fi
56
57         show "Loading ACPI modules..."; busy
58         modprobe --all $MODULES && ok || fail
59 }
60
61 # Start daemons.
62 start() {
63         if [ -f /var/lock/subsys/acpid ]; then
64                 msg_already_running "ACPI Event Daemon"
65                 return
66         fi
67
68         load_modules
69
70         if is_yes "$NETLINK"; then
71                 PROGRAM_ARGS="$PROGRAM_ARGS -n"
72         fi
73         if [ "$CLIENTMAX" ]; then
74                 PROGRAM_ARGS="$PROGRAM_ARGS -C $CLIENTMAX"
75         fi
76
77         # starting:
78         msg_starting "ACPI Event Daemon"
79         daemon /usr/sbin/acpid $PROGRAM_ARGS
80         RETVAL=$?
81         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
82 }
83
84 # Stop daemons.
85 stop() {
86         if [ ! -f /var/lock/subsys/acpid ]; then
87                 msg_not_running "ACPI Event Daemon"
88                 return
89         fi
90
91         msg_stopping "ACPI Event Daemon"
92         killproc acpid
93         rm -f /var/lock/subsys/acpid >/dev/null 2>&1
94 }
95
96 condrestart() {
97         if [ ! -f /var/lock/subsys/acpid ]; then
98                 msg_not_running "ACPI Event Daemon"
99                 RETVAL=$1
100                 return
101         fi
102
103         stop
104         start
105 }
106
107 reload() {
108         if [ -f /var/lock/subsys/acpid ]; then
109                 msg_not_running "ACPI Event Daemon"
110                 RETVAL=7
111                 return
112         fi
113
114         msg_reloading "ACPI Event Daemon"
115         killproc acpid -HUP
116         RETVAL=$?
117 }
118
119 RETVAL=0
120 # See how we were called.
121 case "$1" in
122   start)
123         start
124         ;;
125   stop)
126         stop
127         ;;
128   restart)
129         stop
130         start
131         ;;
132   try-restart)
133         condrestart 0
134         ;;
135   reload|force-reload)
136         reload
137         ;;
138   load-modules)
139         load_modules
140         ;;
141   status)
142         status acpid
143         ;;
144   *)
145         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|load-modules|status}"
146         exit 3
147 esac
148
149 exit $RETVAL
This page took 0.094108 seconds and 3 git commands to generate.