From 6c6c69d81ce35c82d3d7bd7a4a04237a7261e153 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 11 Nov 2014 10:12:48 +0100 Subject: [PATCH] iptv: fix iptv_lock mutex deadlock for http client, fixes #2465 --- src/input/mpegts/iptv/iptv_http.c | 2 ++ src/input/mpegts/iptv/iptv_udp.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/input/mpegts/iptv/iptv_http.c b/src/input/mpegts/iptv/iptv_http.c index 8c43b418..546567e9 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 025f2983..06009fdb 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