From: Jaroslav Kysela Date: Tue, 11 Nov 2014 09:12:48 +0000 (+0100) Subject: iptv: fix iptv_lock mutex deadlock for http client, fixes #2465 X-Git-Tag: v4.1~786 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c6c69d81ce35c82d3d7bd7a4a04237a7261e153;p=thirdparty%2Ftvheadend.git iptv: fix iptv_lock mutex deadlock for http client, fixes #2465 --- diff --git a/src/input/mpegts/iptv/iptv_http.c b/src/input/mpegts/iptv/iptv_http.c index 8c43b418c..546567e95 100644 --- a/src/input/mpegts/iptv/iptv_http.c +++ b/src/input/mpegts/iptv/iptv_http.c @@ -92,7 +92,9 @@ static void iptv_http_stop ( iptv_mux_t *im ) { + pthread_mutex_unlock(&iptv_lock); http_client_close(im->im_data); + pthread_mutex_lock(&iptv_lock); } diff --git a/src/input/mpegts/iptv/iptv_udp.c b/src/input/mpegts/iptv/iptv_udp.c index 025f2983f..06009fdb5 100644 --- a/src/input/mpegts/iptv/iptv_udp.c +++ b/src/input/mpegts/iptv/iptv_udp.c @@ -66,8 +66,10 @@ iptv_udp_stop udp_multirecv_t *um = im->im_data; im->im_data = NULL; + pthread_mutex_unlock(&iptv_lock); udp_multirecv_free(um); free(um); + pthread_mutex_lock(&iptv_lock); } static ssize_t