eina: work around current strange behavior seen in eina_cow.

This is not perfect, it will just limit the propagation of the problem
for some time. Yes, it does hide it under the carpet, but that's better
than having a crash. Problem seems to be in Eina_Hash, but is really
difficult to reproduce and fix for the moment.
This commit is contained in:
Cedric Bail 2013-12-04 15:36:17 +09:00
parent d31a85bb51
commit e4107b2936
1 changed files with 10 additions and 0 deletions

View File

@ -261,6 +261,16 @@ _eina_cow_gc(Eina_Cow *cow, Eina_Cow_GC *gc)
data = EINA_COW_DATA_GET(gc->ref);
/*
THIS IS A TEMPORARY WORK AROUND THAT SHOULD LIMIT PROBLEM
UNTIL WE KNOW WHY THERE IS A PROBLEM IN EINA_HASH.
*/
if (gc->ref->refcount == 0)
{
eina_hash_del(cow->togc, &gc->ref, gc);
return ;
}
current_cow_size = cow->struct_size;
match = eina_hash_find(cow->match, data);
if (match)