vanhofen
4 years ago
5 changed files with 28 additions and 82 deletions
@ -1,68 +0,0 @@ |
|||
#!/bin/sh |
|||
|
|||
. /etc/init.d/globals |
|||
|
|||
# Neutrino's exit codes |
|||
ERROR=-1 |
|||
NORMAL=0 |
|||
SHUTDOWN=1 |
|||
REBOOT=2 |
|||
|
|||
# if neutrino crashes, just restart it or reboot the box? |
|||
REBOOT_ON_ERROR=true |
|||
|
|||
do_cleanup() { |
|||
# remove files created by neutrino |
|||
rm -f /tmp/.timer |
|||
} |
|||
|
|||
do_shutdown() { |
|||
dt -t"SHUTDOWN" |
|||
poweroff |
|||
} |
|||
|
|||
do_reboot() { |
|||
dt -t"REBOOT" |
|||
reboot |
|||
} |
|||
|
|||
while true; do |
|||
do_cleanup |
|||
|
|||
if [ -e /var/etc/.coredump ]; then |
|||
# unlimit core file size |
|||
ulimit -c unlimited |
|||
fi |
|||
|
|||
neutrino; RET=$? |
|||
LOGINFO "Neutrino exited with exit code $RET" |
|||
|
|||
if [ $RET -eq $NORMAL ]; then |
|||
# do nothing |
|||
break |
|||
elif [ $RET -eq $SHUTDOWN ]; then |
|||
do_shutdown |
|||
break |
|||
elif [ $RET -eq $REBOOT ]; then |
|||
do_cleanup |
|||
do_reboot |
|||
break |
|||
fi |
|||
|
|||
dt -t"NEUTRINO: $RET" |
|||
|
|||
# report errors on external display |
|||
if [ -e /tmp/.lcd-* ]; then |
|||
echo "0" > /tmp/lcd/mode_logo |
|||
echo "Neutrino" > /tmp/lcd/service |
|||
echo "Error: $RET" > /tmp/lcd/event |
|||
fi |
|||
|
|||
if $REBOOT_ON_ERROR; then |
|||
LOGINFO "Rebooting due to REBOOT_ON_ERROR=true and exit code $RET" |
|||
do_reboot |
|||
break |
|||
fi |
|||
|
|||
LOGINFO "Restarting neutrino after exit code $RET" |
|||
done |
Loading…
Reference in new issue