summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xabs/core-testing/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/frontend/finish37
2 files changed, 28 insertions, 11 deletions
diff --git a/abs/core-testing/runit-scripts/PKGBUILD b/abs/core-testing/runit-scripts/PKGBUILD
index 60d78b5..80f8054 100755
--- a/abs/core-testing/runit-scripts/PKGBUILD
+++ b/abs/core-testing/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=1.8.0
-pkgrel=101
+pkgrel=104
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
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
+