gstreamer/tests/check
Michael Olbrich 1206a60bac bus: clear bus->priv->signal_watch immediately when the source is removed
There is a race-condition that can trigger the assertion in
gst_bus_add_signal_watch_full():

If gst_bus_add_signal_watch_full() is called immediately after
gst_bus_remove_signal_watch() then bus->priv->signal_watch may still be set
because gst_bus_source_dispose() or gst_bus_source_finalize() was not yet
called.
This happens if the corresponding GMainContext has the source queued for
dispatch. In this case, the following dispatch will only unref and delete
the signal_watch because it was already destroyed. Any pending messages
will remain until a new watch is installed.

So bus->priv->signal_watch can be cleared immediately when the watch is
removed. This avoid the race condition.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/543>
2020-06-24 15:08:59 +02:00
..
elements check: Avoid race with leaks test 2020-06-08 09:47:03 +02:00
generic Remove autotools build system 2019-10-13 16:10:42 +01:00
gst bus: clear bus->priv->signal_watch immediately when the source is removed 2020-06-24 15:08:59 +02:00
libs check: testclock: Check return values 2020-05-08 12:11:20 +02:00
pipelines Use gst_object_unref() / gst_object_clear() instead of the GObject ones 2020-04-20 16:28:52 +00:00
tools tests: refactor tools check a little 2014-10-31 16:10:01 +00:00
gstreamer.supp tests: Add test for new live-objects leaktracer API 2019-07-02 15:13:26 +05:30
meson.build meson: Pass native: false to add_languages() 2020-05-13 08:19:10 +00:00