summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/runit-scripts/runitscripts
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/runit-scripts/runitscripts')
-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
+