repo: Drop deprecated GStaticMutex usage
authorColin Walters <walters@verbum.org>
Mon, 17 Dec 2012 14:50:28 +0000 (09:50 -0500)
committerColin Walters <walters@verbum.org>
Mon, 17 Dec 2012 14:57:24 +0000 (09:57 -0500)
In favor of GOnce, since we just want initialize-once semantics.

girepository/girepository.c

index b5c3029..ccdd361 100644 (file)
@@ -35,7 +35,6 @@
 
 #include "config.h"
 
-static GStaticMutex globals_lock = G_STATIC_MUTEX_INIT;
 static GIRepository *default_repository = NULL;
 static GSList *search_path = NULL;
 static GSList *override_search_path = NULL;
@@ -134,12 +133,13 @@ g_irepository_class_init (GIRepositoryClass *class)
 static void
 init_globals (void)
 {
-  g_static_mutex_lock (&globals_lock);
+  static gsize initialized = 0;
+
+  if (!g_once_init_enter (&initialized))
+    return;
 
   if (default_repository == NULL)
-    {
-      default_repository = g_object_new (G_TYPE_IREPOSITORY, NULL);
-    }
+    default_repository = g_object_new (G_TYPE_IREPOSITORY, NULL);
 
   if (search_path == NULL)
     {
@@ -184,7 +184,7 @@ init_globals (void)
       search_path = g_slist_reverse (search_path);
     }
 
-  g_static_mutex_unlock (&globals_lock);
+  g_once_init_leave (&initialized, 1);
 }
 
 void