diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog index 8772d37868..7805cee358 100644 --- a/legacy/ecore/ChangeLog +++ b/legacy/ecore/ChangeLog @@ -628,3 +628,7 @@ 2012-04-26 Carsten Haitzler (The Rasterman) 1.2.0 release + +2012-05-08 Cedric Bail + + * Don't over allocate Ecore_Pipe during ecore_init/ecore_shutdown. diff --git a/legacy/ecore/NEWS b/legacy/ecore/NEWS index 7896e8252c..2bda21b69b 100644 --- a/legacy/ecore/NEWS +++ b/legacy/ecore/NEWS @@ -1,3 +1,11 @@ +Ecore 1.3.0 + +Changes since Ecore 1.2.0: + +Fixes: + * ecore + - Prevent running out of fd when cycling ecore_init/ecore_shutdown. + Ecore 1.2.0 Changes since Ecore 1.1.0: diff --git a/legacy/ecore/src/lib/ecore/ecore.c b/legacy/ecore/src/lib/ecore/ecore.c index ea5b5cf58a..7fbe943022 100644 --- a/legacy/ecore/src/lib/ecore/ecore.c +++ b/legacy/ecore/src/lib/ecore/ecore.c @@ -171,12 +171,16 @@ ecore_init(void) _ecore_job_init(); _ecore_time_init(); - eina_lock_new(&_thread_safety); eina_lock_new(&_thread_mutex); 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); + if (!_thread_call) + { + _thread_call = ecore_pipe_add(_thread_callback, NULL); + eina_lock_new(&_thread_safety); + } + eina_lock_new(&_thread_id_lock); eina_lock_new(&_ecore_main_loop_lock); @@ -241,8 +245,8 @@ ecore_shutdown(void) _thread_call = NULL; 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); eina_condition_free(&_thread_feedback_cond);