forked from enlightenment/efl
could have a cache deadlock here as _sci_find is called from with
already locked caches. SVN revision: 59063
This commit is contained in:
parent
c7b9d3d14e
commit
f2e2d8963a
|
@ -100,6 +100,7 @@ evas_common_rgba_image_scalecache_init(Image_Entry *ie)
|
||||||
{
|
{
|
||||||
#ifdef SCALECACHE
|
#ifdef SCALECACHE
|
||||||
RGBA_Image *im = (RGBA_Image *)ie;
|
RGBA_Image *im = (RGBA_Image *)ie;
|
||||||
|
// NOTE: this conflicts with evas image cache init and del of lock
|
||||||
LKI(im->cache.lock);
|
LKI(im->cache.lock);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -110,6 +111,7 @@ evas_common_rgba_image_scalecache_shutdown(Image_Entry *ie)
|
||||||
#ifdef SCALECACHE
|
#ifdef SCALECACHE
|
||||||
RGBA_Image *im = (RGBA_Image *)ie;
|
RGBA_Image *im = (RGBA_Image *)ie;
|
||||||
evas_common_rgba_image_scalecache_dirty(ie);
|
evas_common_rgba_image_scalecache_dirty(ie);
|
||||||
|
// NOTE: this conflicts with evas image cache init and del of lock
|
||||||
LKD(im->cache.lock);
|
LKD(im->cache.lock);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -247,7 +249,6 @@ _sci_find(RGBA_Image *im,
|
||||||
_sci_fix_newest(im);
|
_sci_fix_newest(im);
|
||||||
if (sci->im)
|
if (sci->im)
|
||||||
{
|
{
|
||||||
LKL(cache_lock);
|
|
||||||
evas_common_rgba_image_free(&sci->im->cache_entry);
|
evas_common_rgba_image_free(&sci->im->cache_entry);
|
||||||
if (!sci->forced_unload)
|
if (!sci->forced_unload)
|
||||||
cache_size -= sci->dst_w * sci->dst_h * 4;
|
cache_size -= sci->dst_w * sci->dst_h * 4;
|
||||||
|
@ -255,7 +256,6 @@ _sci_find(RGBA_Image *im,
|
||||||
cache_size -= sci->size_adjust;
|
cache_size -= sci->size_adjust;
|
||||||
// INF(" 1- %i", sci->dst_w * sci->dst_h * 4);
|
// INF(" 1- %i", sci->dst_w * sci->dst_h * 4);
|
||||||
cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
|
cache_list = eina_inlist_remove(cache_list, (Eina_Inlist *)sci);
|
||||||
LKU(cache_lock);
|
|
||||||
}
|
}
|
||||||
#ifdef EVAS_FRAME_QUEUING
|
#ifdef EVAS_FRAME_QUEUING
|
||||||
RWLKU(sci->lock);
|
RWLKU(sci->lock);
|
||||||
|
|
Loading…
Reference in New Issue