]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
idnode: delay save thread creation
authorJaroslav Kysela <perex@perex.cz>
Thu, 7 Apr 2016 09:44:48 +0000 (11:44 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 7 Apr 2016 09:44:48 +0000 (11:44 +0200)
src/idnode.c
src/idnode.h
src/main.c

index d6902dd01839c3b554584555a4fdf0cec8a7a85f..cf8f67fd4c9b93a6afc375668607edd40aa8ca88 100644 (file)
@@ -1925,14 +1925,18 @@ save_thread ( void *aux )
  * *************************************************************************/
 
 void
-idnode_init(void)
+idnode_boot(void)
 {
   RB_INIT(&idnodes);
   RB_INIT(&idclasses);
   RB_INIT(&idrootclasses);
   TAILQ_INIT(&idnodes_save);
-
   tvh_cond_init(&save_cond);
+}
+
+void
+idnode_init(void)
+{
   atomic_set(&save_running, 1);
   tvhthread_create(&save_tid, NULL, save_thread, NULL, "save");
 }
index d0481e3cf39d7ccadf41d312e2e6fbb357a41879..38e85cea187a2747feef7b2df790a221c57d49c6 100644 (file)
@@ -192,6 +192,7 @@ typedef LIST_HEAD(,idnode_filter_ele) idnode_filter_t;
 extern idnode_t tvhlog_conf;
 extern const idclass_t tvhlog_conf_class;
 
+void idnode_boot(void);
 void idnode_init(void);
 void idnode_done(void);
 
index 4b794e009f6a2139422eb2a5a31b917118cb23a3..0248a716b6284ae4055acfc3475066f52c399a21 100644 (file)
@@ -1054,7 +1054,7 @@ main(int argc, char **argv)
   }
 
   uuid_init();
-  idnode_init();
+  idnode_boot();
   config_boot(opt_config, gid, uid);
   tcp_server_preinit(opt_ipv6);
   http_server_init(opt_bindaddr);    // bind to ports only
@@ -1133,6 +1133,7 @@ main(int argc, char **argv)
   /* Initialise configuration */
   notify_init();
   spawn_init();
+  idnode_init();
   config_init(opt_nobackup == 0);
 
   /* Memoryinfo */