summaryrefslogtreecommitdiffstats
path: root/abs/core/runit-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/runit-scripts')
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/frontend/finish50
2 files changed, 32 insertions, 20 deletions
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index de02476..844281b 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=runit-scripts
pkgver=8.3
-pkgrel=6
+pkgrel=7
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core/runit-scripts/runitscripts/services/frontend/finish b/abs/core/runit-scripts/runitscripts/services/frontend/finish
index d96bcf0..a1db046 100755
--- a/abs/core/runit-scripts/runitscripts/services/frontend/finish
+++ b/abs/core/runit-scripts/runitscripts/services/frontend/finish
@@ -11,7 +11,8 @@ function cleanup(){
#continue plymouthd that was stopped in /etc/X11/Sessions/Linhes
pidfile=/run/plymouth.pid
-if [ -e "$pidfile" ]; then
+if [ -e "$pidfile" ];
+then
plypid=`cat "$pidfile"`
if [ -n "$plypid" ]; then
kill -s CONT "$plypid"
@@ -20,34 +21,45 @@ fi
grep -q nox /proc/cmdline
STATUS=$?
- if [ $STATUS = 0 ]
- then
- printhl " status = 0"
- chvt 2
+if [ $STATUS = 0 ]
+then
+ printhl " status = 0: no X"
+ chvt 2
else
- pkill -f "X :0"
- printhl " status = 1"
+ x1pid=`pidof Xorg`
+ pkill -f "Xorg"
+ printhl " status = 1: X"
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`
+ sleep 1
+ #ps -U mythtv -ef |grep "xinit /etc/X11/Sessions/LinHES"|grep -v grep|awk ' { print $2 } '|xargs kill -9 2> /dev/null
+ #cdate=`date`
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
- printhl " Frontend disabled, due to many restarts."
- printhl " Run \"sv start frontend\" to try again"
- cleanup
+ sv stop frontend
+ printhl " Frontend disabled, due to many restarts."
+ printhl " Run \"sv start frontend\" to try again"
+ cleanup
else
- if [ $numfilestotal -gt 10 ]
- then
- cleanup
- fi
+ if [ $numfilestotal -gt 10 ]
+ then
+ cleanup
+ fi
+ fi
+ if [[ `pidof "Xorg"` -eq $x1pid ]]
+ then
+ printhl " X $x1pid is shutting down, waiting 10 seconds"
+ sleep 10
+ if [[ `pidof "Xorg"` -eq $x1pid ]]
+ then
+ printhl " killing X $x1pid"
+ kill -9 $x1pid
+ fi
fi
fi