summaryrefslogtreecommitdiffstats
path: root/abs/core/runit-scripts/runitscripts/services/frontend/finish
blob: 6bc324d5e32e3f7f51d1fcd1a838e78a58a26dad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/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/"
}

#continue plymouthd that was stopped in /etc/X11/Sessions/Linhes
pidfile=/run/plymouth.pid
if [ -e "$pidfile" ];
then
    plypid=`cat "$pidfile"`
    if [ -n "$plypid" ]; then
        kill -s CONT "$plypid"
    fi
fi

grep -q  nox /proc/cmdline
STATUS=$?
if  [ $STATUS = 0 ]
then
    printhl  " status = 0: no X"
    chvt 2
else
    x1pid=`pidof Xorg`
    pkill -f "Xorg"
    printhl  " status = 1: X"
    if [ ! -d /etc/sv/frontend/.runtime ]
    then
        mkdir  -p /etc/sv/frontend/.runtime
    fi
    touch /etc/sv/frontend/.runtime/`date +%s`
    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
    else
        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
    killall -9 mythfrontend
fi