diff options
author | mtm <mtm@FreeBSD.org> | 2003-06-09 17:44:30 +0000 |
---|---|---|
committer | mtm <mtm@FreeBSD.org> | 2003-06-09 17:44:30 +0000 |
commit | f291e0547037edaf6a83b5b1734fdf48232f4177 (patch) | |
tree | 538acd5225392237a5a5e9725ebbc1b8081da350 | |
parent | ae455223406d6a2cafdf2f32371a238a5975973f (diff) | |
download | FreeBSD-src-f291e0547037edaf6a83b5b1734fdf48232f4177.zip FreeBSD-src-f291e0547037edaf6a83b5b1734fdf48232f4177.tar.gz |
o Have rc.d/apm report on the status of apm.
o Modify rc.d/apmd to make correct use of this information.
Submitted by: Simon L. Nielsen <simon@nitro.dk> (with minor modifications)
-rw-r--r-- | etc/rc.d/apm | 18 | ||||
-rwxr-xr-x | etc/rc.d/apmd | 14 |
2 files changed, 29 insertions, 3 deletions
diff --git a/etc/rc.d/apm b/etc/rc.d/apm index d88f7c0..fdae6bc 100644 --- a/etc/rc.d/apm +++ b/etc/rc.d/apm @@ -14,7 +14,9 @@ name="apm" rcvar=`set_rcvar` start_precmd="apm_precmd" command="/usr/sbin/${name}" -command_args="-e enable" +start_cmd="${command} -e enable" +stop_cmd="${command} -e disable" +status_cmd="apm_status" apm_precmd() { @@ -26,5 +28,19 @@ apm_precmd() return 1 } +apm_status() +{ + case `${command} -s` in + 1) + echo "APM is enabled." + return 0 + ;; + 0) + echo "APM is disabled" + ;; + esac + return 1 +} + load_rc_config $name run_rc_command "$1" diff --git a/etc/rc.d/apmd b/etc/rc.d/apmd index 9d2fb87..5f43492 100755 --- a/etc/rc.d/apmd +++ b/etc/rc.d/apmd @@ -25,8 +25,18 @@ apmd_prestart() { case `${SYSCTL_N} hw.machine_arch` in i386) - # Start apm if it is not already running - /etc/rc.d/apm forcestatus > /dev/null || /etc/rc.d/apm forcestart + # Enable apm if it is not already enabled + if ! checkyesno apm_enable && \ + ! /etc/rc.d/apm forcestatus 1>/dev/null 2>&1 + then + force_depend apm || return 1 + fi + + # Warn user about acpi apm compatibility support which + # does not work with apmd. + if [ ! -e /dev/apmctl ]; then + warn "/dev/apmctl not found; kernel is missing apm(4)" + fi ;; *) return 1 |