mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-27 03:18:59 +02:00
Use g_once_init_{enter,leave}_pointer where appropriate
This should not result in any functional changes, but will eventually allow glib to be functional on CHERI-enabled systems such as Morello. Helps: https://gitlab.gnome.org/GNOME/glib/-/issues/2842
This commit is contained in:
committed by
Philip Withnall
parent
726eca7c89
commit
a1dfecf11f
@@ -500,11 +500,11 @@ unalias_lang (char *lang)
|
||||
char *p;
|
||||
int i;
|
||||
|
||||
if (g_once_init_enter (&alias_table))
|
||||
if (g_once_init_enter_pointer (&alias_table))
|
||||
{
|
||||
GHashTable *table = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
read_aliases ("/usr/share/locale/locale.alias", table);
|
||||
g_once_init_leave (&alias_table, table);
|
||||
g_once_init_leave_pointer (&alias_table, table);
|
||||
}
|
||||
|
||||
i = 0;
|
||||
|
@@ -815,7 +815,7 @@ g_main_context_default (void)
|
||||
{
|
||||
static GMainContext *default_main_context = NULL;
|
||||
|
||||
if (g_once_init_enter (&default_main_context))
|
||||
if (g_once_init_enter_pointer (&default_main_context))
|
||||
{
|
||||
GMainContext *context;
|
||||
|
||||
@@ -828,7 +828,7 @@ g_main_context_default (void)
|
||||
g_print ("global-default main context=%p\n", context);
|
||||
#endif
|
||||
|
||||
g_once_init_leave (&default_main_context, context);
|
||||
g_once_init_leave_pointer (&default_main_context, context);
|
||||
}
|
||||
|
||||
return default_main_context;
|
||||
|
@@ -1102,10 +1102,10 @@ g_test_log (GTestLogType lbit,
|
||||
unsigned subtest_level;
|
||||
gdouble timing;
|
||||
|
||||
if (g_once_init_enter (&g_default_print_func))
|
||||
if (g_once_init_enter_pointer (&g_default_print_func))
|
||||
{
|
||||
g_once_init_leave (&g_default_print_func,
|
||||
g_set_print_handler (g_test_print_handler));
|
||||
g_once_init_leave_pointer (&g_default_print_func,
|
||||
g_set_print_handler (g_test_print_handler));
|
||||
g_assert_nonnull (g_default_print_func);
|
||||
}
|
||||
|
||||
|
@@ -663,7 +663,7 @@ g_get_user_database_entry (void)
|
||||
{
|
||||
static UserDatabaseEntry *entry;
|
||||
|
||||
if (g_once_init_enter (&entry))
|
||||
if (g_once_init_enter_pointer (&entry))
|
||||
{
|
||||
static UserDatabaseEntry e;
|
||||
|
||||
@@ -787,7 +787,7 @@ g_get_user_database_entry (void)
|
||||
if (!e.real_name)
|
||||
e.real_name = g_strdup ("Unknown");
|
||||
|
||||
g_once_init_leave (&entry, &e);
|
||||
g_once_init_leave_pointer (&entry, &e);
|
||||
}
|
||||
|
||||
return entry;
|
||||
@@ -1065,7 +1065,7 @@ g_get_host_name (void)
|
||||
{
|
||||
static gchar *hostname;
|
||||
|
||||
if (g_once_init_enter (&hostname))
|
||||
if (g_once_init_enter_pointer (&hostname))
|
||||
{
|
||||
gboolean failed;
|
||||
gchar *utmp = NULL;
|
||||
@@ -1122,7 +1122,7 @@ g_get_host_name (void)
|
||||
failed = TRUE;
|
||||
#endif
|
||||
|
||||
g_once_init_leave (&hostname, failed ? g_strdup ("localhost") : utmp);
|
||||
g_once_init_leave_pointer (&hostname, failed ? g_strdup ("localhost") : utmp);
|
||||
}
|
||||
|
||||
return hostname;
|
||||
|
@@ -199,8 +199,8 @@ test_once_init_string (void)
|
||||
|
||||
g_test_summary ("Test g_once_init_{enter,leave}() usage with a string");
|
||||
|
||||
if (g_once_init_enter (&val))
|
||||
g_once_init_leave (&val, "foo");
|
||||
if (g_once_init_enter_pointer (&val))
|
||||
g_once_init_leave_pointer (&val, "foo");
|
||||
|
||||
g_assert_cmpstr (val, ==, "foo");
|
||||
}
|
||||
|
@@ -71,14 +71,14 @@ initializer1 (void)
|
||||
static gpointer
|
||||
initializer2 (void)
|
||||
{
|
||||
static gsize initialized = 0;
|
||||
if (g_once_init_enter (&initialized))
|
||||
static void *initialized = NULL;
|
||||
if (g_once_init_enter_pointer (&initialized))
|
||||
{
|
||||
void *pointer_value = &dummy_value;
|
||||
assert_singleton_execution2 ();
|
||||
g_once_init_leave (&initialized, (gsize) pointer_value);
|
||||
g_once_init_leave_pointer (&initialized, pointer_value);
|
||||
}
|
||||
return (void*) initialized;
|
||||
return initialized;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user