pad: clear probes holding mutex

Protect clearing probes against concurrent modification which might happen
due to dispose does NOT guarantee that the object is not used anymore, as
it could be referenced again and so being continued used.
So, as in the rest of places where probes hook list is used, on dispose
it should be accessed holding the mutex "GST_OBJECT_LOCK (pad);" as
GHookList is not thread-safe.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/800>
This commit is contained in:
Miguel Paris 2021-04-16 11:14:31 +02:00 committed by Tim-Philipp Müller
parent b566cbe022
commit 0d1fad0e92

View file

@ -723,9 +723,8 @@ gst_pad_dispose (GObject * object)
GST_OBJECT_LOCK (pad);
remove_events (pad);
GST_OBJECT_UNLOCK (pad);
g_hook_list_clear (&pad->probes);
GST_OBJECT_UNLOCK (pad);
G_OBJECT_CLASS (parent_class)->dispose (object);
}