X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=sensors.init;h=c081bfd2c1e09ea66ef39f891fc3bfda6f437f38;hb=680da2c5353b709030dd8b1a8075d123ec8a6f6e;hp=17bf43207867cd5d535a0ca3b4d8ce8939cea89a;hpb=eb9828bb43907407cbef1edc2c4f331212f3891e;p=packages%2Flm_sensors.git diff --git a/sensors.init b/sensors.init index 17bf432..c081bfd 100644 --- a/sensors.init +++ b/sensors.init @@ -2,7 +2,7 @@ # # sensors: Hardware sensors monitoring daemon # -# Version: $Revision$ +# Version: $Revision$ # # chkconfig: 2345 32 68 # description: Starts and stops hardware sensors monitoring daemon. @@ -12,67 +12,80 @@ . /etc/rc.d/init.d/functions # Get service config -if [ -f /etc/sysconfig/sensors ] ; then - . /etc/sysconfig/sensors +if [ -f /etc/sysconfig/sensors ]; then + . /etc/sysconfig/sensors fi +RETVAL=0 # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/sensors ]; then - if [ -z "$BUS" ] || [ -z "$CHIP" ]; then - # sensors not configured - exit 1 + if [ -z "$BUS" ] || [ -z "$CHIP" ]; then + msg_starting "sensors daemon"; fail + nls "BUS or CHIP not configured in /etc/sysconfig/sensors" >&2 + exit 6 fi - + # insert modules - _modprobe single die "i2c-$BUS" - _modprobe single die "$CHIP" + for i in $BUS; do + _modprobe single die "i2c-$i" + done + for i in $CHIP; do + _modprobe single die "$i" + done if [ "$SENSORS_SET" = "1" ]; then sensors -s fi - + msg_starting "sensors daemon" daemon sensord \ $([ -n "$INTERVAL" ] && echo "-i $INTERVAL") \ $([ -n "$LOG_INTERVAL" ] && echo "-l $LOG_INTERVAL") \ + $([ -n "$RRD_LOGFILE" ] && echo "-r $RRD_LOGFILE") \ + $([ -n "$RRD_INTERVAL" ] && echo "-t $RRD_INTERVAL") \ -f daemon - - RET=$? - [ $RET -eq 0 ] && touch /var/lock/subsys/sensors + + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sensors + touch /var/lock/subsys/sensors else msg_already_running "sensors daemon" - exit 1 fi - touch /var/lock/subsys/sensors ;; stop) if [ -f /var/lock/subsys/sensors ]; then msg_stopping "sensors daemon" killproc sensord - + # remove kernel modules - /sbin/rmmod $CHIP >/dev/null 2>&1 - /sbin/rmmod i2c-$BUS >/dev/null 2>&1 - + for i in $CHIP; do + /sbin/rmmod $i >/dev/null 2>&1 + done + for i in $BUS; do + /sbin/rmmod i2c-$BUS >/dev/null 2>&1 + done + rm -f /var/lock/subsys/sensors else msg_not_running "sensors daemon" - exit 1 fi ;; status) - status sensord + status sensors sensord + RETVAL=$? + sensors ;; - restart) + restart|force-reload) $0 stop $0 start + exit $? ;; *) - msg_usage "$0 {start|stop|status|restart}" - exit 1 + msg_usage "$0 {start|stop|restart|force-reload|status}" + exit 3 esac -exit $RET +exit $RETVAL