]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
SAT>IP server: run rtcp thread after signals are initialized otherwise forking does...
authorJaroslav Kysela <perex@perex.cz>
Sat, 7 Nov 2015 14:09:04 +0000 (15:09 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 7 Nov 2015 14:10:34 +0000 (15:10 +0100)
src/satip/rtp.c
src/satip/rtsp.c
src/satip/server.h

index cfee3c041ebff8184e3fb1ae664fbc8449cd9531..d6062dfa41fbe3e900d122b93b3f4aa02a98eeda 100644 (file)
@@ -625,13 +625,18 @@ end:
 /*
  *
  */
-void satip_rtp_init(void)
+void satip_rtp_init(int boot)
 {
   TAILQ_INIT(&satip_rtp_sessions);
   pthread_mutex_init(&satip_rtp_lock, NULL);
 
-  satip_rtcp_run = 1;
-  tvhthread_create(&satip_rtcp_tid, NULL, satip_rtcp_thread, NULL);
+  if (boot)
+    satip_rtcp_run = 0;
+
+  if (!boot && !satip_rtcp_run) {
+    satip_rtcp_run = 1;
+    tvhthread_create(&satip_rtcp_tid, NULL, satip_rtcp_thread, NULL);
+  }
 }
 
 /*
index a350f0ddf6a0016c507f8b93f0413175e432910f..2f2ab1a102b8ba474da7d9884ca63e16320a8d8d 100644 (file)
@@ -1542,7 +1542,7 @@ void satip_server_rtsp_init
     session_number = *(uint32_t *)rnd;
     TAILQ_INIT(&rtsp_sessions);
     pthread_mutex_init(&rtsp_lock, NULL);
-    satip_rtp_init();
+    satip_rtp_init(1);
   }
   if (rtsp_port != port && rtsp_server) {
     rtsp_close_sessions();
@@ -1564,6 +1564,7 @@ void satip_server_rtsp_init
 void satip_server_rtsp_register(void)
 {
   tcp_server_register(rtsp_server);
+  satip_rtp_init(0);
 }
 
 void satip_server_rtsp_done(void)
index 01ba87f209333a58c8d5c35519efc9fae8b5ef41..222227a5c20cff2e4b6a04c73b745fe3e35bd0dd 100644 (file)
@@ -45,7 +45,7 @@ void satip_rtp_update_pids(void *id, mpegts_apids_t *pids);
 int satip_rtp_status(void *id, char *buf, int len);
 void satip_rtp_close(void *id);
 
-void satip_rtp_init(void);
+void satip_rtp_init(int boot);
 void satip_rtp_done(void);
 
 void satip_server_rtsp_init(const char *bindaddr, int port,