File runvdr-extreme-exitcode.patch of Package runvdr-extreme-systemd

Index: b/runvdr
===================================================================
--- a/runvdr
+++ b/runvdr
@@ -845,10 +845,11 @@ Do_DVBLOAD
 SHORTRUNTIMES=0
 
 # Initialize for now
 PROXYFILE=
 
+EXITCODE=1
 while (true) do
     echo -n "Starting VDR at " ; $DATE
 
     # Trap some signals sent to this script
     trap "SIG=HUP" SIGHUP
@@ -930,10 +931,11 @@ while (true) do
     fi
 
     case "$SIG" in
       HUP | INT | QUIT | TERM)
         echo -n "Terminating by request at " ; $DATE
+        EXITCODE=0
 
         # Kill remaining VDR traces
         WaitKill $PID $VDRPRG $TERMTIMEOUT $KILLTIMEOUT
 
         # Wait for X server to be down too
@@ -980,10 +982,11 @@ while (true) do
             [ "$XSERVERPID" ] && wait "$XSERVERPID"
 
             # Unload DVB drivers requested?
             [ -n "$DVBUNLOADONEXIT" ] && Do_DVBUNLOAD
 
+            EXITCODE=$RET
             # and exit
             break
         fi
         if [ $SHORTRUNTIMES -gt "$MAXRESTARTS" ] ; then
             echo -n "Terminating because VDR died $SHORTRUNTIMES times in a row quickly at " ; $DATE
@@ -1033,5 +1036,8 @@ done
 # Clean up PID file
 [ -n "$RUNVDRPID" ] && rm $RUNVDRPID 2>/dev/null
 
 # Clean up proxy file, if used
 [ -n "$PROXYFILE" ] && rm $PROXYFILE 2>/dev/null
+
+# exit code for e.g. systemd
+exit $EXITCODE
openSUSE Build Service is sponsored by