raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=479c0f37a43c24bd8b86a1970221f0f6843085a7

commit 479c0f37a43c24bd8b86a1970221f0f6843085a7
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sun Aug 24 22:18:17 2014 +0900

    fix efl deadlock with thread queues
    
    @fix
---
 src/lib/eina/eina_thread_queue.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_thread_queue.c b/src/lib/eina/eina_thread_queue.c
index 05b1f48..4a3701d 100644
--- a/src/lib/eina/eina_thread_queue.c
+++ b/src/lib/eina/eina_thread_queue.c
@@ -294,7 +294,7 @@ _eina_thread_queue_msg_fetch(Eina_Thread_Queue *thq, 
Eina_Thread_Queue_Msg_Block
         if (thq->last == blk) thq->last = blk->next;
         thq->data = blk->next;
         blk->next = NULL;
-        eina_lock_release(&(blk->lock_non_0_ref));
+        if (ref > 0) eina_lock_release(&(blk->lock_non_0_ref));
         RWLOCK_UNLOCK(&(thq->lock_write));
      }
    blk = thq->read;

-- 


Reply via email to