diff options
Diffstat (limited to 'etc/rc.suspend')
-rwxr-xr-x | etc/rc.suspend | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/etc/rc.suspend b/etc/rc.suspend index 8b3e4fa..8b02a0f 100755 --- a/etc/rc.suspend +++ b/etc/rc.suspend @@ -29,6 +29,14 @@ # sample run command file for APM Suspend Event +if [ $# -ne 2 ]; then + echo "Usage: $0 [apm|acpi] [standby,suspend|1-5]" + exit 1 +fi + +subsystem=$1 +state=$2 + if [ -r /var/run/rc.suspend.pid ]; then exit 1 fi @@ -40,11 +48,15 @@ echo $$ > /var/run/rc.suspend.pid # pccardq | awk -F '~' '$5 == "filled" && $4 ~ /sio/ \ # { printf("pccardc power %d 0", $1); }' | sh -logger -t apmd suspend at `date +'%Y%m%d %H:%M:%S'` +# UHCI has trouble resuming so we just load/unload it. You +# should add any other kernel modules you want unloaded here. +# kldunload usb + +logger -t $subsystem suspend at `date +'%Y%m%d %H:%M:%S'` sync && sync && sync -sleep 3 +[ $subsystem = "apm" ] && sleep 3 rm -f /var/run/rc.suspend.pid -zzz +[ $subsystem = "apm" ] && zzz exit 0 |