[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