]> 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:09:04 +0000 (15:09 +0100)
src/satip/rtp.c
src/satip/rtsp.c
src/satip/server.h

index ebe202fc2e12cf8b187c531b85ab3c0aba3c1bb4..40769b4b1e921d2967e4b84a61b3afb407c4e8ba 100644 (file)
@@ -789,13 +789,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, "satip-rtcp");
+  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, "satip-rtcp");
+  }
 }
 
 /*
index cdd9b6e75eeaa6ac10eadda8cc3c7b00f7f256a7..f5c42c113c67d8eff4cd401e0e2717c80b8dc655 100644 (file)
@@ -1553,7 +1553,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();
@@ -1576,6 +1576,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 8b70b39295914e85a7d9241fb87a0c75496be3ab..2221c17b955421eb2c5e56fd4071f7950923559c 100644 (file)
@@ -74,7 +74,7 @@ void satip_rtp_update_pmt_pids(void *id, mpegts_apids_t *pmt_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,