validate: Make _deinit thread safe
authorThibault Saunier <tsaunier@gnome.org>
Tue, 19 Jan 2016 10:10:49 +0000 (11:10 +0100)
committerThibault Saunier <thibault.saunier@collabora.com>
Tue, 23 Feb 2016 10:46:07 +0000 (11:46 +0100)
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D698

validate/gst/validate/validate.c

index 08dd49e..726c431 100644 (file)
@@ -266,11 +266,17 @@ gst_validate_init (void)
 void
 gst_validate_deinit (void)
 {
+  g_mutex_lock (&_gst_validate_registry_mutex);
   _free_plugin_config (core_config);
   gst_object_unref (_gst_validate_registry_default);
+  _gst_validate_registry_default = NULL;
+
   _priv_validate_override_registry_deinit ();
   core_config = NULL;
   validate_initialized = FALSE;
+
+  g_mutex_unlock (&_gst_validate_registry_mutex);
+  g_mutex_clear (&_gst_validate_registry_mutex);
 }
 
 gboolean