From a6b00262906bde4358d460d12a6037c24c8d4c41 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 25 Jun 2015 21:51:40 +0000
Subject: runit-scripts: frontend: finish: updates for xorg-server update

---
 abs/core/runit-scripts/PKGBUILD                    |  2 +-
 .../runitscripts/services/frontend/finish          | 50 ++++++++++++++--------
 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
-- 
cgit v0.12

