diff options
-rwxr-xr-x | abs/core-testing/runit-scripts/PKGBUILD | 2 | ||||
-rwxr-xr-x | abs/core-testing/runit-scripts/runitscripts/services/frontend/finish | 37 |
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 + |