diff options
author | James Meyer <james.meyer@operamail.com> | 2010-01-31 01:08:07 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2010-01-31 01:08:07 (GMT) |
commit | 2a9d4da2af153d222d39db726dfa3b98a2c2964a (patch) | |
tree | 9633f7b4152a8612b076356899b01d8b393d2827 /abs/core-testing/runit-scripts/runitscripts | |
parent | fae1b1d479a6d6414849141fc62fdb126f4e5031 (diff) | |
download | linhes_pkgbuild-2a9d4da2af153d222d39db726dfa3b98a2c2964a.zip linhes_pkgbuild-2a9d4da2af153d222d39db726dfa3b98a2c2964a.tar.gz linhes_pkgbuild-2a9d4da2af153d222d39db726dfa3b98a2c2964a.tar.bz2 |
runit-scripts: frontend
add pkill to kill X when sv stop is run
apply fix based on patch from FS#533.
This stops the frontend from always shutting down after 4 kills.
get the number of these terminations that are more than 10 seconds old.
if more that 2 terminations (files) are greater than 10 seconds old
then stop the frontend from future automatic restarts and delete all the files and print error message to the log.
closes FS#522
Diffstat (limited to 'abs/core-testing/runit-scripts/runitscripts')
-rwxr-xr-x | abs/core-testing/runit-scripts/runitscripts/services/frontend/finish | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/abs/core-testing/runit-scripts/runitscripts/services/frontend/finish b/abs/core-testing/runit-scripts/runitscripts/services/frontend/finish index 5b0bd5b..417488d 100755 --- a/abs/core-testing/runit-scripts/runitscripts/services/frontend/finish +++ b/abs/core-testing/runit-scripts/runitscripts/services/frontend/finish @@ -1,28 +1,45 @@ -#!/bin/bash -exec 2>&1 -export TERM=linux -. /etc/rc.conf -. /etc/rc.d/functions +#!/bin/bash +exec 2>&1 +export TERM=linux +. /etc/rc.conf +. /etc/rc.d/functions + +function cleanup(){ + rm -f /etc/sv/frontend/.runtime/* + printhl " Cleaning up /etc/sv/frontend/.runtime/" +} grep -q nox /proc/cmdline STATUS=$? if [ $STATUS = 0 ] then + printhl " status = 0" chvt 2 else + pkill -f "X :0" + printhl " status = 1" if [ ! -d /etc/sv/frontend/.runtime ] then - mkdir -p /etc/sv/frontend/.runtime + mkdir -p /etc/sv/frontend/.runtime fi touch /etc/sv/frontend/.runtime/`date +%s` sleep 0.2 ps -U mythtv -ef |grep "/bin/sh /usr/bin/startx"|grep -v grep|awk ' { print $2 } '|xargs kill -9 2> /dev/null cdate=`date` - numfiles=`/usr/bin/file_time_offset.py -s10 -d/etc/sv/frontend/.runtime` - if [ $numfiles -gt 2 ] + numfilestotal=`/usr/bin/file_time_offset.py -s0 -d/etc/sv/frontend/.runtime` + numfilesover10secondsold=`/usr/bin/file_time_offset.py -s10 -d/etc/sv/frontend/.runtime` + numfileslessthan10secondsold=$(($numfilestotal-$numfilesover10secondsold)) + if [ $numfileslessthan10secondsold -gt 2 ] then sv stop frontend - rm -f /etc/sv/frontend/.runtime/* - printhl " Frontend is not able to start, disabling it." + printhl " Frontend disabled, due to many restarts." + printhl " Run \"sv start frontend\" to try again" + cleanup + else + if [ $numfilestotal -gt 10 ] + then + cleanup + fi fi fi + |