ulisses pushed a commit to branch master.

commit 063f076aed889c4425cea315120750f9bb92f7e6
Author: Ulisses Furquim <[email protected]>
Date:   Mon Sep 2 20:01:37 2013 -0300

    evas/async_render: remove block/unblock of render thread.
    
    This reverts commit 42a46214c4f9b35c0e1f5a84c56ea76ba2235eae.
---
 src/lib/evas/canvas/evas_render.c          |  2 --
 src/lib/evas/common/evas_thread_render.c   | 21 +--------------------
 src/lib/evas/include/evas_common_private.h |  4 +---
 3 files changed, 2 insertions(+), 25 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 10b81a1..46ce2dd 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2251,7 +2251,6 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void *_pd, 
va_list *list EINA_UNUSED)
    Evas_Layer *lay;
 
    evas_render_rendering_wait(e);
-   evas_thread_queue_block();
    evas_cache_async_freeze();
 
    EINA_INLIST_FOREACH(e->layers, lay)
@@ -2279,7 +2278,6 @@ _canvas_render_dump(Eo *eo_e EINA_UNUSED, void *_pd, 
va_list *list EINA_UNUSED)
    GC_ALL(evas_object_image_load_opts_cow);
    GC_ALL(evas_object_image_state_cow);
    evas_cache_async_thaw();
-   evas_thread_queue_unblock();
 }
 
 void
diff --git a/src/lib/evas/common/evas_thread_render.c 
b/src/lib/evas/common/evas_thread_render.c
index 3474469..f37f43a 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -4,7 +4,6 @@
 
 static Eina_Thread evas_thread_worker;
 static Eina_Condition evas_thread_queue_condition;
-static Eina_Lock evas_thread_block_lock;
 static Eina_Lock evas_thread_queue_lock;
 static Eina_Bool evas_thread_queue_ready = EINA_FALSE;
 static Eina_Inarray evas_thread_queue;
@@ -56,19 +55,7 @@ evas_thread_queue_flush(Evas_Thread_Command_Cb cb, void 
*data)
     evas_thread_queue_append(cb, data, EINA_TRUE);
 }
 
-EAPI void
-evas_thread_queue_block(void)
-{
-   eina_lock_take(&evas_thread_block_lock);
-}
-
-EAPI void
-evas_thread_queue_unblock(void)
-{
-   eina_lock_release(&evas_thread_block_lock);
-}
-
-static void *
+static void*
 evas_thread_worker_func(void *data EINA_UNUSED, Eina_Thread thread EINA_UNUSED)
 {
     while (1)
@@ -96,8 +83,6 @@ evas_thread_worker_func(void *data EINA_UNUSED, Eina_Thread 
thread EINA_UNUSED)
               continue;
            }
 
-         eina_lock_take(&evas_thread_block_lock);
-         
          cmd = evas_thread_queue.members;
          evas_thread_queue.members = evas_thread_queue_cache;
          evas_thread_queue_cache = cmd;
@@ -124,7 +109,6 @@ evas_thread_worker_func(void *data EINA_UNUSED, Eina_Thread 
thread EINA_UNUSED)
               cmd++;
               len--;
            }
-         eina_lock_release(&evas_thread_block_lock);
       }
 
 out:
@@ -144,8 +128,6 @@ evas_thread_init(void)
 
     if (!eina_lock_new(&evas_thread_queue_lock))
       CRIT("Could not create draw thread lock");
-    if (!eina_lock_new(&evas_thread_block_lock))
-      CRIT("Could not create draw thread block lock");
     if (!eina_condition_new(&evas_thread_queue_condition, 
&evas_thread_queue_lock))
       CRIT("Could not create draw thread condition");
     if (!eina_thread_create(&evas_thread_worker, EINA_THREAD_NORMAL, 0,
@@ -172,7 +154,6 @@ evas_thread_shutdown(void)
       evas_async_events_process();
 
     eina_thread_join(evas_thread_worker);
-    eina_lock_free(&evas_thread_block_lock);
     eina_lock_free(&evas_thread_queue_lock);
     eina_condition_free(&evas_thread_queue_condition);
 
diff --git a/src/lib/evas/include/evas_common_private.h 
b/src/lib/evas/include/evas_common_private.h
index c4728bd..c07f6e6 100644
--- a/src/lib/evas/include/evas_common_private.h
+++ b/src/lib/evas/include/evas_common_private.h
@@ -1254,9 +1254,7 @@ void              evas_thread_init(void);
 void              evas_thread_shutdown(void);
 EAPI void         evas_thread_cmd_enqueue(Evas_Thread_Command_Cb cb, void 
*data);
 EAPI void         evas_thread_queue_flush(Evas_Thread_Command_Cb cb, void 
*data);
-EAPI void         evas_thread_queue_block(void);
-EAPI void         evas_thread_queue_unblock(void);
-       
+
 typedef enum _Evas_Render_Mode
 {
    EVAS_RENDER_MODE_UNDEF,

-- 

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk

Reply via email to