mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-01 00:42:16 +01:00 
			
		
		
		
	gmain: Do atomic addition before checking the old value on ref
So we avoid working on a value that is not been updated yet.
This commit is contained in:
		| @@ -551,10 +551,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; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user