]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
eit: Clear scraper patterns on shutdown. (#4287).
authorE.Smith <31170571+azlm8t@users.noreply.github.com>
Wed, 6 Sep 2017 19:41:50 +0000 (20:41 +0100)
committerJaroslav Kysela <perex@perex.cz>
Fri, 8 Sep 2017 06:29:45 +0000 (08:29 +0200)
Issue: #4287

src/epggrab/module/eit.c

index 7f7a337976e040c811ddb1fd27030683eafbcc8d..7d9d0febbdb9485b7356cb00e2dbb798d156b0dc 100644 (file)
@@ -86,7 +86,8 @@ typedef struct eit_event
  * Forward declarations
  */
 static void _eit_module_load_config(eit_module_t *mod);
-
+static void _eit_scrape_clear(eit_module_t *mod);
+static void _eit_done(void *mod);
 
 /* ************************************************************************
  * Diagnostics
@@ -912,8 +913,7 @@ static int _eit_activate(void *m, int e)
    * activated. This allows user to modify the config files and get
    * them re-read easily.
    */
-  eit_pattern_free_list(&mod->p_snum);
-  eit_pattern_free_list(&mod->p_enum);
+  _eit_scrape_clear(mod);
 
   mod->active = e;
 
@@ -960,6 +960,12 @@ static int _eit_tune
   return r;
 }
 
+static void _eit_scrape_clear(eit_module_t *mod)
+{
+  eit_pattern_free_list(&mod->p_snum);
+  eit_pattern_free_list(&mod->p_enum);
+}
+
 static int _eit_scrape_load_one ( htsmsg_t *m, eit_module_t* mod )
 {
     eit_pattern_compile_list(&mod->p_snum, htsmsg_get_list(m, "season_num"));
@@ -1039,6 +1045,7 @@ static eit_module_t *eit_module_ota_create
   }; \
   static epggrab_ota_module_ops_t name = { \
     .start  = _eit_start, \
+    .done = _eit_done, \
     .activate = _eit_activate, \
     .tune   = _eit_tune, \
     .opaque = &opaque_##name, \
@@ -1064,6 +1071,12 @@ void eit_init ( void )
   EIT_CREATE("Bulsatcom_39E", "Bulsatcom: Bula 39E", 5, &ops_bulsat);
 }
 
+void _eit_done ( void *m )
+{
+  eit_module_t *mod = m;
+  _eit_scrape_clear(mod);
+}
+
 void eit_done ( void )
 {
 }