Merge pull request #26109 from felizk/fix-resume-for-plugin-videos-in-widgets
[xbmc.git] / tools / Linux / kodi-standalone.sh.in
blob956e1938649a33ea4a8e0a2ba3fb2f47455c0642
1 #!/bin/sh
3 # Copyright (C) 2009-2015 Team XBMC
4 # http://kodi.tv
6 # This Program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2, or (at your option)
9 # any later version.
11 # This Program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with XBMC; see the file COPYING. If not, write to
18 # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19 # http://www.gnu.org/copyleft/gpl.html
21 prefix="@prefix@"
22 exec_prefix="@exec_prefix@"
23 bindir="@bindir@"
24 bin_name=@APP_NAME_LC@
25 APP="${bindir}/${bin_name} --standalone $@"
27 @XBMC_STANDALONE_SH_PULSE@
29 LOOP=1
30 CRASHCOUNT=0
31 LASTSUCCESSFULSTART=$(date +%s)
33 while [ $LOOP -eq 1 ]
35 $APP
36 RET=$?
37 NOW=$(date +%s)
38 if [ $RET -ge 64 ] && [ $RET -le 66 ] || [ $RET -eq 0 ]; then # clean exit
39 LOOP=0
40 else # crash
41 DIFF=$((NOW-LASTSUCCESSFULSTART))
42 if [ $DIFF -gt 60 ]; then # Not on startup, ignore
43 LASTSUCESSFULSTART=$NOW
44 CRASHCOUNT=0
45 else # at startup, look sharp
46 CRASHCOUNT=$((CRASHCOUNT+1))
47 if [ $CRASHCOUNT -ge 3 ]; then # Too many, bail out
48 LOOP=0
49 echo "${APP} has exited in an unclean state 3 times in the last ${DIFF} seconds."
50 echo "Something is probably wrong"
54 done