[Bug 647759] [bin] Element could be removed from the bin but still claim that the bin is the parent
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jun 11 06:52:43 PDT 2012
https://bugzilla.gnome.org/show_bug.cgi?id=647759
GStreamer | gstreamer (core) | git
Wim Taymans <wim.taymans> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|HEAD |0.11.x
--- Comment #2 from Wim Taymans <wim.taymans at gmail.com> 2012-06-11 13:52:38 UTC ---
commit 26682f7c7aceb10782c3d8d9020ccc1e5dd3cb51
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Mon Jun 11 15:49:10 2012 +0200
element: remove unused UNPARENTING flag
commit 85d5a29b400adc7047d9d14edcae4e17a0bb6136
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date: Mon Jun 11 15:41:58 2012 +0200
bin: reorganize _remove_func to avoid races
Make the gst_bin_remove_func more like the add_func. Check if the element
we try
to remove from the bin has the bin as the parent and set the parent flag to
NULL
immediately, this allows us to avoid concurrent remove operations without
using
the UNPARENTING element flag. After we unparented the element from the bin,
we
update the bin state and remove the element from the list. Finally we
unlink
all the pads.
This avoids a race condition where the element could still claim to have
the
bin as the parent while the bin didn't have a pointer to the element
anymore.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
--
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