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:
Matthias Clasen 2003-12-26 00:36:56 +00:00 committed by Matthias Clasen
parent 355807fff6
commit 07cbd50ea8
2 changed files with 9 additions and 2 deletions

View File

@ -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>
* gvalue.c (g_value_peek_pointer): Use g_assert() instead of

View File

@ -2490,7 +2490,10 @@ g_type_class_peek_parent (gpointer g_class)
g_return_val_if_fail (g_class != NULL, NULL);
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))
{
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))
g_warning (G_STRLOC ": invalid class pointer `%p'", g_class);
G_READ_UNLOCK (&type_rw_lock);
return class;
}