[Bug 706831] composition: Release objects lock while forwarding an event
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jan 6 02:49:39 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=706831
GStreamer | gnonlin | unspecified
Thibault Saunier <thibault.saunier> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
--- Comment #8 from Thibault Saunier <thibault.saunier at collabora.com> 2014-01-06 10:49:33 UTC ---
commit 8f3bb083f8e59d9c541c4f80ed40a1b9c780e7dd
Author: Thibault Saunier <thibault.saunier at collabora.com>
Date: Mon Aug 26 16:26:31 2013 -0400
composition: Release objects lock while forwarding an event
There is no reason to keep it and in some rare cases it creates
deadlocks as followed:
t1:
→ Composition receives a flushing seek, it takes the OBJECTS_LOCK
and fowards the flushing seek event upstream
→ adder receives the seek and set its collectpad to flushing
This implies tacking STREAM_LOCK (collectpad)
t2:
→ Collectpad has buffers ready, and has the STREAM_LOCK
(collectpad) and is EOS, so it sends it downstream
→ The composition receives EOS, and needs to check if it is
the actual EOS or not, thus need to take the OBJECTS_LOCK
This create a deadlock, and in the first stage, we did not need the
OBJECTS_LOCK to forward downstream the flushing seek, so do not take
it.
https://bugzilla.gnome.org/show_bug.cgi?id=706831
--
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