discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=df2f6144319ae989c56ae8fd0c76ed9eed70f4a7
commit df2f6144319ae989c56ae8fd0c76ed9eed70f4a7 Author: Mike Blumenkrantz <[email protected]> Date: Tue Jun 19 13:30:26 2018 -0400 eina_threadqueue: fix spinlock destruction by using spinlock api Summary: this would deadlock in some cases @fix Depends on D6297 Reviewers: ManMower, devilhorns Reviewed By: ManMower Subscribers: cedric, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D6298 --- src/lib/eina/eina_thread_queue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eina/eina_thread_queue.c b/src/lib/eina/eina_thread_queue.c index d5bee95c44..46cafcb54c 100644 --- a/src/lib/eina/eina_thread_queue.c +++ b/src/lib/eina/eina_thread_queue.c @@ -141,8 +141,8 @@ _eina_thread_queue_msg_block_real_free(Eina_Thread_Queue_Msg_Block *blk) 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_take(&(blk->lock_ref)); + eina_spinlock_release(&(blk->lock_ref)); eina_spinlock_free(&(blk->lock_ref)); #endif free(blk); --
