From: Jaroslav Kysela Date: Sat, 7 Nov 2015 14:09:04 +0000 (+0100) Subject: SAT>IP server: run rtcp thread after signals are initialized otherwise forking does... X-Git-Tag: v4.2.1~1633 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c7f054827fe6c522df7ed2d1a97ff30bcb9857f;p=thirdparty%2Ftvheadend.git SAT>IP server: run rtcp thread after signals are initialized otherwise forking does not work --- diff --git a/src/satip/rtp.c b/src/satip/rtp.c index ebe202fc2..40769b4b1 100644 --- a/src/satip/rtp.c +++ b/src/satip/rtp.c @@ -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"); + } } /* diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index cdd9b6e75..f5c42c113 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -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) diff --git a/src/satip/server.h b/src/satip/server.h index 8b70b3929..2221c17b9 100644 --- a/src/satip/server.h +++ b/src/satip/server.h @@ -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,