raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=26db5d5056a948dc41da65b88a87e575ed21c1eb
commit 26db5d5056a948dc41da65b88a87e575ed21c1eb Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Fri Aug 5 23:51:03 2016 +0900 eina thread queue - ensure blocks cannot be freed until lock+unlock just in case... check blocks cannot be freed until locked and unlocked just in case someone still is holding a lock. --- src/lib/eina/eina_thread_queue.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/eina/eina_thread_queue.c b/src/lib/eina/eina_thread_queue.c index 190d772..d5bee95 100644 --- a/src/lib/eina/eina_thread_queue.c +++ b/src/lib/eina/eina_thread_queue.c @@ -137,8 +137,12 @@ _eina_thread_queue_msg_block_new(int size) static void _eina_thread_queue_msg_block_real_free(Eina_Thread_Queue_Msg_Block *blk) { + eina_lock_take(&(blk->lock_non_0_ref)); + eina_lock_release(&(blk->lock_non_0_ref)); eina_lock_free(&(blk->lock_non_0_ref)); #ifndef ATOMIC + eina_lock_take(&(blk->lock_ref)); + eina_lock_release(&(blk->lock_ref)); eina_spinlock_free(&(blk->lock_ref)); #endif free(blk); --
