aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/ecore/src/lib/ecore/ecore.c
diff options
context:
space:
mode:
authorMike McCormack <mikem@atratus.org>2012-11-06 10:49:05 +0000
committerMike McCormack <mikem@ring3k.org>2012-11-06 10:49:05 +0000
commit5faaa68c99bf3b1555595e0cb952cf3148df13cc (patch)
tree67e517af07eb3c425fcd6848f1c1d53c56878e6d /legacy/ecore/src/lib/ecore/ecore.c
parentmerge: windows: i will support only gcc >= 4.7.2, where -mms-bitfields is ean... (diff)
downloadefl-5faaa68c99bf3b1555595e0cb952cf3148df13cc.tar.gz
ecore: Add thread safety support to ecore pipe
Fixes hang in edje_codegen with thread safe ecore enabled. ecore_shutdown takes lock, then calls _ecore_pipe_read, which makes callbacks without unlocking ecore. Signed-off-by: Mike McCormack <mikem@atratus.org> SVN revision: 78937
Diffstat (limited to 'legacy/ecore/src/lib/ecore/ecore.c')
-rw-r--r--legacy/ecore/src/lib/ecore/ecore.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/legacy/ecore/src/lib/ecore/ecore.c b/legacy/ecore/src/lib/ecore/ecore.c
index 45a32d3830..72c735ccd6 100644
--- a/legacy/ecore/src/lib/ecore/ecore.c
+++ b/legacy/ecore/src/lib/ecore/ecore.c
@@ -181,7 +181,7 @@ ecore_init(void)
eina_condition_new(&_thread_cond, &_thread_mutex);
eina_lock_new(&_thread_feedback_mutex);
eina_condition_new(&_thread_feedback_cond, &_thread_feedback_mutex);
- _thread_call = ecore_pipe_add(_thread_callback, NULL);
+ _thread_call = _ecore_pipe_add(_thread_callback, NULL);
eina_lock_new(&_thread_safety);
eina_lock_new(&_thread_id_lock);
@@ -268,8 +268,8 @@ ecore_shutdown(void)
*/
p = _thread_call;
_thread_call = NULL;
- ecore_pipe_wait(p, 1, 0.1);
- ecore_pipe_del(p);
+ _ecore_pipe_wait(p, 1, 0.1);
+ _ecore_pipe_del(p);
eina_lock_free(&_thread_safety);
eina_condition_free(&_thread_cond);
eina_lock_free(&_thread_mutex);