mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-24 19:22:11 +01:00
GArray: Avoid unncessary atomic accesses to refcounts
Not really necessary to double-check the ref-count.
This commit is contained in:
parent
8bf68cc661
commit
1fe2fcf360
@ -218,8 +218,9 @@ g_array_ref (GArray *array)
|
||||
{
|
||||
GRealArray *rarray = (GRealArray*) array;
|
||||
g_return_val_if_fail (array, NULL);
|
||||
g_return_val_if_fail (g_atomic_int_get (&rarray->ref_count) > 0, array);
|
||||
|
||||
g_atomic_int_inc (&rarray->ref_count);
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
@ -239,7 +240,7 @@ g_array_unref (GArray *array)
|
||||
{
|
||||
GRealArray *rarray = (GRealArray*) array;
|
||||
g_return_if_fail (array);
|
||||
g_return_if_fail (g_atomic_int_get (&rarray->ref_count) > 0);
|
||||
|
||||
if (g_atomic_int_dec_and_test (&rarray->ref_count))
|
||||
g_array_free (array, TRUE);
|
||||
}
|
||||
@ -872,8 +873,9 @@ g_ptr_array_ref (GPtrArray *array)
|
||||
GRealPtrArray *rarray = (GRealPtrArray*) array;
|
||||
|
||||
g_return_val_if_fail (array, NULL);
|
||||
g_return_val_if_fail (g_atomic_int_get (&rarray->ref_count) > 0, array);
|
||||
|
||||
g_atomic_int_inc (&rarray->ref_count);
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
@ -892,9 +894,8 @@ void
|
||||
g_ptr_array_unref (GPtrArray *array)
|
||||
{
|
||||
GRealPtrArray *rarray = (GRealPtrArray*) array;
|
||||
|
||||
g_return_if_fail (array);
|
||||
g_return_if_fail (g_atomic_int_get (&rarray->ref_count) > 0);
|
||||
|
||||
if (g_atomic_int_dec_and_test (&rarray->ref_count))
|
||||
g_ptr_array_free (array, TRUE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user