[Bug 675869] [hlsdemux] potential dead-lock using GstTask

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri May 11 06:53:25 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=675869
  GStreamer | gst-plugins-bad | git

--- Comment #2 from Gil Pedersen <bugzilla.gnome at gpost.dk> 2012-05-11 13:53:22 UTC ---
(In reply to comment #1)
> hlsdemux also tries to join without taking and releasing the task lock first, I
> suspect this is your real problem.

I don't see how that would solve the problem since the other thread could
potentially do anything between the release and the join.

I suspect the real solution to this problem is to either disable state changes
on GstTask during a join (with a suitable error), or make calls to set_state
and join exclusive by adding a mutex to GstTask and lock it during join and
set_state. The currently used object lock is not suitable since it is released
in join on the GST_TASK_WAIT() call.

Though the dead-lock would be solved, I still think my current patch makes
sense to apply since it means that tasks won't be started just to be stopped
again.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list