[Bug 614765] racy stream status leave implementation

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Jul 3 23:40:27 PDT 2011


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

René Stadler <mail> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
                 CC|                            |mail at renestadler.de
         Resolution|FIXED                       |

--- Comment #11 from René Stadler <mail at renestadler.de> 2011-07-04 06:40:22 UTC ---
Re-opening: The shutdown phase is still racy. Passing the reference to the
callback is an incomplete solution, as it is still possible that the mainloop
is stopped and cleaned up before the callback got a chance to run. In this
case, the reference is leaked.

This showed up in Nokia N9 as a shortage of file descriptors, because libpulse
keeps the control sockets around.

The correct solution is to wait for the callback(s) to be fired (libpulse has
no DestroyNotify mechanism for the userdata argument). As comment #10 points
out, the reference passing can be eliminated altogether since an actual cleanup
from the callback would just deadlock/assert anyways.

Attaching proposed patches...

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