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; --
