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/798>
This commit is contained in:
Miguel Paris 2021-04-16 11:14:31 +02:00
parent 4eef67cc7e
commit fad603011d

View file

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