GNOME Bugzilla – Bug 793863
curlhttpsrc: deadlock in multi-instance scenario
Last modified: 2018-04-28 07:48:21 UTC
1. in gst_curl_http_src_curl_multi_loop, if state is GSTCURL_MULTI_LOOP_STATE_REQUEST_REMOVAL, queue is not iterated at all, will deadlock here in multi-instance scenario 2. state will be deadlock in GSTCURL_MULTI_LOOP_STATE_REQUEST_REMOVAL even other instance is under running.
Created attachment 368985 [details] easily reproduced with this test file easily reproduced with this test file
Created attachment 368986 [details] [review] fix deadlock issue
hi, Sam Hurst, would you please look into it?
Review of attachment 368986 [details] [review]: Your change looks good to me, and I've merged it on the GitHub project. If there is a GStreamer maintainer who wants to double check it and can push this to git, that would be great.
Thanks for reviewing, Sam.
Since it has been merged in GitHub, please also merge it into GStreamer repo
What does merged in github means ?
Looks good otherwise.
Thanks, I've only reworked a bit the comment, nothing else. Author: Jun Xie <jun.xie@samsung.com> Date: Tue Feb 27 10:51:07 2018 +0800 curlhttpsrc: deadlock in multi-instance scenario Fixed queue iterator issue and set context state to GSTCURL_MULTI_LOOP_STATE_RUNNING in case other instance are in running state. https://bugzilla.gnome.org/show_bug.cgi?id=793863
Seems like a candidate for 1.14 backport, what do you think ?