Blame SOURCES/0001-curlhttpsrc-deadlock-in-multi-instance-scenario.patch

0f7c42
From cb1b143b5b847e2320a58a6eb7af132eba685c9c Mon Sep 17 00:00:00 2001
0f7c42
From: Jun Xie <jun.xie@samsung.com>
0f7c42
Date: Tue, 27 Feb 2018 10:51:07 +0800
0f7c42
Subject: [PATCH] curlhttpsrc: deadlock in multi-instance scenario
0f7c42
0f7c42
Fixed queue iterator issue and set context state to
0f7c42
GSTCURL_MULTI_LOOP_STATE_RUNNING in case other
0f7c42
instance are in running state.
0f7c42
0f7c42
https://bugzilla.gnome.org/show_bug.cgi?id=793863
0f7c42
---
0f7c42
 ext/curl/gstcurlhttpsrc.c | 2 ++
0f7c42
 1 file changed, 2 insertions(+)
0f7c42
0f7c42
diff --git a/ext/curl/gstcurlhttpsrc.c b/ext/curl/gstcurlhttpsrc.c
0f7c42
index a47508e62..e60ccf531 100644
0f7c42
--- a/ext/curl/gstcurlhttpsrc.c
0f7c42
+++ b/ext/curl/gstcurlhttpsrc.c
0f7c42
@@ -1668,8 +1668,10 @@ gst_curl_http_src_curl_multi_loop (gpointer thread_data)
0f7c42
         g_mutex_unlock (&qelement->p->buffer_mutex);
0f7c42
         gst_curl_http_src_remove_queue_item (&context->queue, qelement->p);
0f7c42
       }
0f7c42
+      qelement = qelement->next;
0f7c42
     }
0f7c42
     context->request_removal_element = NULL;
0f7c42
+    context->state = GSTCURL_MULTI_LOOP_STATE_RUNNING;
0f7c42
     g_mutex_unlock (&context->mutex);
0f7c42
   } else {
0f7c42
     GSTCURL_WARNING_PRINT ("Curl Loop State was invalid or unsupported");
0f7c42
-- 
0f7c42
2.17.1
0f7c42