diff options
author | Edward Hervey <bilboed@bilboed.com> | 2009-09-23 15:12:15 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2009-09-23 15:12:15 +0200 |
commit | 342aff84a12a1ccd6937229364e9ad2f9ac3e619 (patch) | |
tree | b553485cec79fbff416c098b5ac5b318a83af1cf | |
parent | f6dd644a73db84919b0008aad509436d152ef386 (diff) |
gtype: Use the READ_LOCK in g_type_class_unrefcontention-rwlock
-rw-r--r-- | gobject/gtype.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gobject/gtype.c b/gobject/gtype.c index f0f3e8dfb..1f8b075ca 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -2724,14 +2724,14 @@ g_type_class_unref (gpointer g_class) g_return_if_fail (g_class != NULL); node = lookup_type_node_I (class->g_type); - G_WRITE_LOCK (&type_rw_lock); + G_READ_LOCK (&type_rw_lock); if (node && node->is_classed && node->data && node->data->class.class == class && node->data->common.ref_count > 0) - type_data_unref_WmREC (node, FALSE); + type_data_unref_R (node, FALSE); else g_warning ("cannot unreference class of invalid (unclassed) type `%s'", type_descriptive_name_I (class->g_type)); - G_WRITE_UNLOCK (&type_rw_lock); + G_READ_UNLOCK (&type_rw_lock); } /** @@ -2751,15 +2751,15 @@ g_type_class_unref_uncached (gpointer g_class) g_return_if_fail (g_class != NULL); - G_WRITE_LOCK (&type_rw_lock); node = lookup_type_node_I (class->g_type); + G_READ_LOCK (&type_rw_lock); if (node && node->is_classed && node->data && node->data->class.class == class && node->data->common.ref_count > 0) - type_data_unref_WmREC (node, TRUE); + type_data_unref_R (node, TRUE); else g_warning ("cannot unreference class of invalid (unclassed) type `%s'", type_descriptive_name_I (class->g_type)); - G_WRITE_UNLOCK (&type_rw_lock); + G_READ_UNLOCK (&type_rw_lock); } /** |