[Bug 679081] New: establishing parent-child relation not consistent with design docs

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 28 12:02:41 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=679081
  GStreamer | gstreamer (core) | 0.10.x

           Summary: establishing parent-child relation not consistent with
                    design docs
    Classification: Platform
           Product: GStreamer
           Version: 0.10.x
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: tomasz.lakota at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


There is description of establishing parent-child relation in the design
documentation:
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-relations.txt

It is stated here, that set_parent() is called on child WITHOUT lock on the
parent.

However such establishment in gstreamer code (e.g.
gstelement.c:gst_element_add_pad(), gstbin.c:gst_bin_add_func()) calls
set_parent() with lock on the parent. In 0.10.36 gst_object_set_parent() called
signal "PARENT_SET" which could call deadlock if this signal tried to lock the
parent. In 0.11.92 signal calling is commented out and denoted "FIXME".

Why not just make code consistent with design doc and call set_parent() on
child without lock on the parent?

-- 
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