mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-22 10:12:10 +01:00
gobject: Avoid redundant atomics
According to the commit that introduced these calls (4b334ef8f1393c997a2d83d), we are checking the refcount here to avoid calling g_object_ref when the refcount is 0, in the rare case that notification would be triggered during finalize. But we are now freezing notifications during finalize, and after recent changes, we no longer call g_object_ref for notification while a freeze is in place.
This commit is contained in:
parent
a99cebe0c9
commit
b5e1f34260
@ -321,8 +321,6 @@ g_object_notify_queue_thaw (GObject *object,
|
||||
GSList *slist;
|
||||
guint n_pspecs = 0;
|
||||
|
||||
g_return_if_fail (g_atomic_int_get(&object->ref_count) > 0);
|
||||
|
||||
G_LOCK(notify_lock);
|
||||
|
||||
/* Just make sure we never get into some nasty race condition */
|
||||
@ -335,7 +333,7 @@ g_object_notify_queue_thaw (GObject *object,
|
||||
|
||||
nqueue->freeze_count--;
|
||||
if (nqueue->freeze_count) {
|
||||
G_UNLOCK(notify_lock);
|
||||
G_UNLOCK (notify_lock);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1393,8 +1391,6 @@ g_object_notify (GObject *object,
|
||||
|
||||
g_return_if_fail (G_IS_OBJECT (object));
|
||||
g_return_if_fail (property_name != NULL);
|
||||
if (g_atomic_int_get (&object->ref_count) == 0)
|
||||
return;
|
||||
|
||||
/* We don't need to get the redirect target
|
||||
* (by, e.g. calling g_object_class_find_property())
|
||||
@ -1467,9 +1463,6 @@ g_object_notify_by_pspec (GObject *object,
|
||||
g_return_if_fail (G_IS_OBJECT (object));
|
||||
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
|
||||
|
||||
if (g_atomic_int_get (&object->ref_count) == 0)
|
||||
return;
|
||||
|
||||
g_object_notify_by_spec_internal (object, pspec);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user