g_clear_pointer is not thread-safe and never was. GLib similarly removed
the volatile from g_clear_object in
2aacef39b1.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/327
**/
#undef gst_clear_mini_object
void
-gst_clear_mini_object (volatile GstMiniObject ** object_ptr)
+gst_clear_mini_object (GstMiniObject ** object_ptr)
{
g_clear_pointer (object_ptr, gst_mini_object_unref);
}
void gst_mini_object_unref (GstMiniObject *mini_object);
GST_API
-void gst_clear_mini_object (volatile GstMiniObject **object_ptr);
+void gst_clear_mini_object (GstMiniObject **object_ptr);
#define gst_clear_mini_object(object_ptr) g_clear_pointer ((object_ptr), gst_mini_object_unref)
GST_API
**/
#undef gst_clear_object
void
-gst_clear_object (volatile GstObject ** object_ptr)
+gst_clear_object (GstObject ** object_ptr)
{
g_clear_pointer (object_ptr, gst_object_unref);
}
void gst_object_unref (gpointer object);
GST_API
-void gst_clear_object (volatile GstObject **object_ptr);
+void gst_clear_object (GstObject **object_ptr);
#define gst_clear_object(object_ptr) g_clear_pointer ((object_ptr), gst_object_unref)
GST_API
**/
#undef gst_clear_structure
void
-gst_clear_structure (volatile GstStructure ** structure_ptr)
+gst_clear_structure (GstStructure ** structure_ptr)
{
g_clear_pointer (structure_ptr, gst_structure_free);
}
void gst_structure_free (GstStructure * structure);
GST_API
-void gst_clear_structure (volatile GstStructure **structure_ptr);
+void gst_clear_structure (GstStructure **structure_ptr);
#define gst_clear_structure(structure_ptr) g_clear_pointer ((structure_ptr), gst_structure_free)
GST_API