GNOME Bugzilla – Bug 348179
gst_parse_lauch is not reentrant
Last modified: 2006-07-21 18:56:04 UTC
previouse version would just hang when gst_parse_launch get called again. An example is a bin element that uses gst_parse_launch to create its contents from a property. Using such an element together with gst-launch hangs.
Made the calls to _parse () fail if called recursively instead of locking. Concurrent threads serialize their _parse() code fine. * gst/gstparse.c: (gst_parse_launch): Protect recursive calls to _parse with a recursive mutex and busy flag.
not closing, it might be possible to add configure checks so we only use newer threadsafe versions of flex. Marking as enhancement.
fixed in CVS 2006-07-21 Stefan Kost <ensonic@users.sf.net> * configure.ac: * gst/gstparse.c: (gst_parse_launch): Check for flex version and omit mutex if we have a MT save flex Also remove reentrance checks if flex is MT save (#348179)