#!/bin/bash
#
#    /etc/rc.d/init.d/acpid
#
# Starts the acpi daemon
#
# chkconfig: 345 26 74
# description: Listen and dispatch ACPI events from the kernel
# processname: acpid

### BEGIN INIT INFO
# Provides: acpid
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start:  2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop acpid
# Description: Listen and dispatch ACPI events from the kernel
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

RETVAL=0

check() {
    # Check that we're a privileged user
    [ `id -u` = 0 ] || exit 4
    
    # Check if acpid is executable
    test -x /usr/sbin/acpid || exit 5
}

start() {

    check
    
    # Check for kernel support
    [ -f /proc/acpi/event ] || exit 1

    echo -n $"Starting acpi daemon: "    
    daemon /usr/sbin/acpid
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
    echo
    return $RETVAL
}

stop() {

    check
    
    echo -n $"Stopping acpi daemon: "
    killproc /usr/sbin/acpid
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/acpid
    echo
    return $RETVAL
}

restart() {
    stop
    start
}    

reload() {

    check
    
    trap "" SIGHUP
    action $"Reloading acpi daemon:" killall -HUP acpid
    RETVAL=$?
    return $RETVAL
}


case "$1" in
start)
    start
    ;;
stop)
    stop
    ;;
reload)
    reload
    ;;
force-reload)
    restart
    ;;
restart)
    restart
    ;;
condrestart)
    if [ -f /var/lock/subsys/acpid ]; then
        restart
    fi
    ;;
status)
    status acpid
    RETVAL=$?
    ;;
*)
    echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
    RETVAL=2
esac

exit $RETVAL