summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/runit-scripts/runitscripts/services/frontend
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-01-31 01:08:07 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-01-31 01:08:07 (GMT)
commit2a9d4da2af153d222d39db726dfa3b98a2c2964a (patch)
tree9633f7b4152a8612b076356899b01d8b393d2827 /abs/core-testing/runit-scripts/runitscripts/services/frontend
parentfae1b1d479a6d6414849141fc62fdb126f4e5031 (diff)
downloadlinhes_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/services/frontend')
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/frontend/finish37
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
+