From 244f8d57802fcb506ebc89bf990eecbf03fc5b27 Mon Sep 17 00:00:00 2001 From: cedric Date: Tue, 27 Sep 2011 06:16:11 +0000 Subject: [PATCH] ecore: prevent one last spurious wakeup. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@63619 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c index 2560d91..b9ab179 100644 --- a/src/lib/ecore/ecore.c +++ b/src/lib/ecore/ecore.c @@ -406,7 +406,7 @@ ecore_thread_main_loop_end(void) eina_lock_release(&_thread_mutex); eina_lock_take(&_thread_feedback_mutex); - while (current_id == _thread_id) + while (current_id == _thread_id && _thread_id != -1) eina_condition_wait(&_thread_feedback_cond); eina_lock_release(&_thread_feedback_mutex); @@ -686,11 +686,12 @@ _thread_callback(void *data __UNUSED__, eina_condition_wait(&_thread_cond); eina_lock_release(&_thread_mutex); - _thread_id = -1; - eina_main_loop_define(); eina_lock_take(&_thread_feedback_mutex); + + _thread_id = -1; + eina_condition_broadcast(&_thread_feedback_cond); eina_lock_release(&_thread_feedback_mutex); -- 2.7.4