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 | |
| 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
| -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 + | 
