mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-05-01 19:46:53 +02:00
Don't acquire a read lock here. (#106433, Owen Taylor)
Fri Dec 26 01:34:01 2003 Matthias Clasen <maclas@gmx.de> * gtype.c (g_type_class_peek_parent): Don't acquire a read lock here. (#106433, Owen Taylor)
This commit is contained in:
parent
355807fff6
commit
07cbd50ea8
@ -1,3 +1,8 @@
|
|||||||
|
Fri Dec 26 01:34:01 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtype.c (g_type_class_peek_parent): Don't acquire a read lock
|
||||||
|
here. (#106433, Owen Taylor)
|
||||||
|
|
||||||
Wed Dec 17 23:29:17 2003 Matthias Clasen <maclas@gmx.de>
|
Wed Dec 17 23:29:17 2003 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
* gvalue.c (g_value_peek_pointer): Use g_assert() instead of
|
* gvalue.c (g_value_peek_pointer): Use g_assert() instead of
|
||||||
|
@ -2490,7 +2490,10 @@ g_type_class_peek_parent (gpointer g_class)
|
|||||||
g_return_val_if_fail (g_class != NULL, NULL);
|
g_return_val_if_fail (g_class != NULL, NULL);
|
||||||
|
|
||||||
node = lookup_type_node_I (G_TYPE_FROM_CLASS (g_class));
|
node = lookup_type_node_I (G_TYPE_FROM_CLASS (g_class));
|
||||||
G_READ_LOCK (&type_rw_lock);
|
/* We used to acquire a read lock here. That is not necessary, since
|
||||||
|
* parent->data->class.class is constant as long as the derived class
|
||||||
|
* exists.
|
||||||
|
*/
|
||||||
if (node && node->is_classed && node->data && NODE_PARENT_TYPE (node))
|
if (node && node->is_classed && node->data && NODE_PARENT_TYPE (node))
|
||||||
{
|
{
|
||||||
node = lookup_type_node_I (NODE_PARENT_TYPE (node));
|
node = lookup_type_node_I (NODE_PARENT_TYPE (node));
|
||||||
@ -2498,7 +2501,6 @@ g_type_class_peek_parent (gpointer g_class)
|
|||||||
}
|
}
|
||||||
else if (NODE_PARENT_TYPE (node))
|
else if (NODE_PARENT_TYPE (node))
|
||||||
g_warning (G_STRLOC ": invalid class pointer `%p'", g_class);
|
g_warning (G_STRLOC ": invalid class pointer `%p'", g_class);
|
||||||
G_READ_UNLOCK (&type_rw_lock);
|
|
||||||
|
|
||||||
return class;
|
return class;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user