ecore: don't run out of fd when crazy apps cycle through ecore_init/ecore_shutdown.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 8 May 2012 03:50:22 +0000 (03:50 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 8 May 2012 03:50:22 +0000 (03:50 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@70860 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
NEWS
src/lib/ecore/ecore.c

index 8772d37..7805cee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 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 (file)
--- 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:
index ea5b5cf..7fbe943 100644 (file)
@@ -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);