]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvr timerec: don't delete spawned recordings on shutdown
authorJaroslav Kysela <perex@perex.cz>
Thu, 2 Oct 2014 18:17:35 +0000 (20:17 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 2 Oct 2014 18:17:35 +0000 (20:17 +0200)
src/dvr/dvr_timerec.c

index e2f0d0202bd19e8fe68274a07b0f7e9b4c0cf664..40396f32d1179dc1095a4d05da6788b1bfcdfaa3 100644 (file)
@@ -67,17 +67,19 @@ dvr_timerec_timecorrection(time_t clk, int hm, struct tm *tm)
  * Unlink - and remove any unstarted
  */
 static void
-dvr_timerec_purge_spawn(dvr_timerec_entry_t *dte)
+dvr_timerec_purge_spawn(dvr_timerec_entry_t *dte, int delconf)
 {
   dvr_entry_t *de = dte->dte_spawn;
 
   if (de && de->de_timerec) {
     dte->dte_spawn = NULL;
     de->de_timerec = NULL;
-    if (de->de_sched_state == DVR_SCHEDULED)
-      dvr_entry_cancel(de);
-    else
-      dvr_entry_save(de);
+    if (delconf) {
+      if (de->de_sched_state == DVR_SCHEDULED)
+        dvr_entry_cancel(de);
+      else
+        dvr_entry_save(de);
+    }
   }
 }
 
@@ -147,7 +149,7 @@ dvr_timerec_check(dvr_timerec_entry_t *dte)
   if (de) {
     if (de->de_start == start && de->de_stop == stop)
       return;
-    dvr_timerec_purge_spawn(dte);
+    dvr_timerec_purge_spawn(dte, 1);
   }
 
   title = dvr_timerec_title(dte, &tm_start);
@@ -163,7 +165,7 @@ dvr_timerec_check(dvr_timerec_entry_t *dte)
   return;
 
 fail:
-  dvr_timerec_purge_spawn(dte);
+  dvr_timerec_purge_spawn(dte, 1);
 }
 
 /**
@@ -204,7 +206,7 @@ dvr_timerec_create(const char *uuid, htsmsg_t *conf)
 static void
 timerec_entry_destroy(dvr_timerec_entry_t *dte, int delconf)
 {
-  dvr_timerec_purge_spawn(dte);
+  dvr_timerec_purge_spawn(dte, delconf);
 
   if (delconf)
     hts_settings_remove("dvr/timerec/%s", idnode_uuid_as_str(&dte->dte_id));