From: cedric Date: Tue, 8 May 2012 03:50:22 +0000 (+0000) Subject: ecore: don't run out of fd when crazy apps cycle through ecore_init/ecore_shutdown. X-Git-Tag: 2.0_alpha~25^2~122 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a9a52badc89b07a51fd242647e61638151109cf8;p=framework%2Fuifw%2Fecore.git ecore: don't run out of fd when crazy apps cycle through ecore_init/ecore_shutdown. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@70860 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/ChangeLog b/ChangeLog index 8772d37..7805cee 100644 --- a/ChangeLog +++ b/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/NEWS b/NEWS index 7896e82..2bda21b 100644 --- a/NEWS +++ b/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/src/lib/ecore/ecore.c b/src/lib/ecore/ecore.c index ea5b5cf..7fbe943 100644 --- a/src/lib/ecore/ecore.c +++ b/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);