Merge branch 'more-atomic-ops' into 'main'

Use atomic exchange operations more

See merge request GNOME/glib!2759
This commit is contained in:
Philip Withnall
2022-07-23 11:35:08 +00:00
7 changed files with 420 additions and 16 deletions

View File

@@ -566,10 +566,12 @@ GSourceFuncs g_idle_funcs =
GMainContext *
g_main_context_ref (GMainContext *context)
{
g_return_val_if_fail (context != NULL, NULL);
g_return_val_if_fail (g_atomic_int_get (&context->ref_count) > 0, NULL);
int old_ref_count;
g_atomic_int_inc (&context->ref_count);
g_return_val_if_fail (context != NULL, NULL);
old_ref_count = g_atomic_int_add (&context->ref_count, 1);
g_return_val_if_fail (old_ref_count > 0, NULL);
return context;
}