From 468e2ef91fb473aaa179c1d182c376f89e6561d3 Mon Sep 17 00:00:00 2001 From: Jeff Hatch Date: Mon, 23 Nov 2020 13:15:05 -0600 Subject: Update reset-handler.sh to handle SIGPWR to perform shutdown -h now for supercap power down --- recipes-core/multitech/reset-handler/reset-handler.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'recipes-core/multitech') diff --git a/recipes-core/multitech/reset-handler/reset-handler.sh b/recipes-core/multitech/reset-handler/reset-handler.sh index 43f7471..7988342 100755 --- a/recipes-core/multitech/reset-handler/reset-handler.sh +++ b/recipes-core/multitech/reset-handler/reset-handler.sh @@ -24,9 +24,10 @@ name="reset-handler" log="logger -t $name -s" pid="$$" -short_signal=10 # SIGUSR1 -long_signal=12 # SIGUSR2 +short_signal=10 # SIGUSR1 +long_signal=12 # SIGUSR2 extralong_signal=1 # SIGHUP +power_signal=30 # SIGPWR do_reboot() { $log "Rebooting on button press" @@ -34,6 +35,11 @@ do_reboot() { reboot } +do_shutdown() { + $log "Shutting down" + shutdown -h now +} + do_restore_defaults() { $log "Removing /var/config contents" rm -rf /var/config/* @@ -69,11 +75,16 @@ trap do_reboot $short_signal trap do_restore_defaults $long_signal trap do_restore_defaults $extralong_signal trap log_exit TERM +trap do_shutdown $power_signal $log "Enabling reset-monitor for pid $pid" mts-io-sysfs store reset-monitor "$pid $short_signal $long_signal $extralong_signal" # set long press to 5 seconds for reset to defaults mts-io-sysfs store reset-monitor-intervals "5 30" +# set up SIGPWR shutdown +if [[ -f /sys/devices/platform/mts-io/supercap-monitor ]] ; then + mts-io-sysfs store supercap-monitor "$pid $power_signal" +fi # wait for signals idle_wait -- cgit v1.2.3