]> git.etc.gen.nz Git - mythtv-status.git/commitdiff
Be a lot less verbose if their is a stale file, and potentially remove it.
authorAndrew Ruthven <andrew@etc.gen.nz>
Tue, 2 Oct 2012 08:39:29 +0000 (21:39 +1300)
committerAndrew Ruthven <andrew@etc.gen.nz>
Tue, 2 Oct 2012 08:49:54 +0000 (21:49 +1300)
Close Debian bug #681684.

debian/changelog
debian/init.d

index 3857d7e8e4f582d25ab731674fadfa3cacc04599..e21aa322612bf0cefea3999dc23aa3f5b6ce0166 100644 (file)
@@ -1,3 +1,9 @@
+mythtv-status (0.10.2-2) unstable; urgency=low
+
+  * Handle a stale temp file more gracefully (Closes: #681684) 
+
+ -- Andrew Ruthven <andrew@etc.gen.nz>  Tue, 02 Oct 2012 21:48:01 +1300
+
 mythtv-status (0.10.2-1) unstable; urgency=low
 
   * New upstream release. (Closes: #680358)
index f7a083e4c006d16c53a3768dbd3d2a3aa538523f..61826bb32519063b087a2fe2441d039c26587563 100644 (file)
@@ -63,11 +63,15 @@ case "$1" in
     [ -f /var/run/motd ] || touch /var/run/motd
     [ -f /var/run/motd.orig ] || cp /var/run/motd /var/run/motd.orig
 
+    # If the tempfile is less than 15 minutes old, object, otherwise
+    # we'll assume that something went wrong and remove it.
     if [ -f $TEMPFILE ]; then
-      echo "Hey, $TEMPFILE already exists" 1>&2
-      ls -l /var/run/motd* 1>&2
-      ps -ef | grep mythtv-status 1>&2
-      cat /var/run/motd.new 1>&2
+      AGE=$(stat -c "%Z" $TEMPFILE);
+      if expr $AGE \> $(date +'%s') - 900
+      then
+        log_warning_msg "I think another $NAME is running."
+        exit 1
+      fi
     fi
 
     cp /var/run/motd.orig $TEMPFILE
@@ -77,10 +81,8 @@ case "$1" in
     $DAEMON $ARGS -h $HOST >> $TEMPFILE || ret=$?
     if [ $ret -eq 0 -o $ret -eq 1 ]; then
       if [ ! -f $TEMPFILE ]; then
-        # My file has gone away.  WTF?!  Spit out some debugging.
-       echo "Odd, $TEMPFILE has gone away.  Start: $date, End: $(date)" 1>&2
-        ls -l /var/run/motd* 1>&2
-        ps -ef | grep mythtv-status 1>&2
+        log_failure_msg "My temporary file has gone away, failed."
+        exit 1
       else
         mv $TEMPFILE /var/run/motd
       fi