raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6a2aafeac36379bb1163bb48d992d035e89366a1

commit 6a2aafeac36379bb1163bb48d992d035e89366a1
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Wed Oct 2 17:06:26 2013 +0900

    evas - more deadlocks found. fixed.
---
 src/lib/evas/common/evas_image_scalecache.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/common/evas_image_scalecache.c 
b/src/lib/evas/common/evas_image_scalecache.c
index 8b08877..490d3c8 100644
--- a/src/lib/evas/common/evas_image_scalecache.c
+++ b/src/lib/evas/common/evas_image_scalecache.c
@@ -682,7 +682,6 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
           }
         return EINA_FALSE;
      }
-   LKL(im->cache.lock);
    LKL(cache_lock);
    sci = _sci_find(im, dc, smooth,
                    src_region_x, src_region_y, src_region_w, src_region_h,
@@ -702,7 +701,6 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
        evas_common_image_colorspace_normalize(im);
 
 //        misses++;
-        LKU(im->cache.lock);
         if (im->image.data)
           {
              if (smooth)
@@ -720,6 +718,7 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
           }
         return EINA_FALSE;
      }
+   LKL(im->cache.lock);
    if (sci->populate_me)
      {
         int size, osize, used;
@@ -781,6 +780,7 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
                   ct = evas_common_draw_context_new();
                   evas_common_draw_context_set_render_op(ct, 
_EVAS_RENDER_COPY);
                }
+             LKU(im->cache.lock);
              if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
                {
 #ifdef EVAS_CSERVE2
@@ -790,6 +790,7 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
 #endif
                     evas_cache_image_load_data(&im->cache_entry);
                }
+             LKL(im->cache.lock);
              evas_common_image_colorspace_normalize(im);
              if (im->image.data)
                {
@@ -908,6 +909,7 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
      }
    else
      {
+        LKU(im->cache.lock);
         if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
           {
 #ifdef EVAS_CSERVE2
@@ -919,7 +921,6 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, 
RGBA_Image *dst,
           }
        evas_common_image_colorspace_normalize(im);
 //        misses++;
-        LKU(im->cache.lock);
         if (im->image.data)
           {
              if (smooth)

-- 


Reply via email to