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

-- 


Reply via email to