ecore: fix count of objects in the Ecore_Thread trash.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 May 2012 10:25:44 +0000 (10:25 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 30 May 2012 10:25:44 +0000 (10:25 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@71550 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore/ecore_thread.c

index bb7e7d7..407e84b 100644 (file)
@@ -260,6 +260,7 @@ _ecore_thread_worker_free(Ecore_Pthread_Worker *worker)
 
    if (_ecore_thread_worker_count > ((_ecore_thread_count_max + 1) * 16))
      {
+        _ecore_thread_worker_count--;
         free(worker);
         return;
      }
@@ -566,8 +567,11 @@ _ecore_thread_worker_new(void)
 
    result = eina_trash_pop(&_ecore_thread_worker_trash);
 
-   if (!result) result = calloc(1, sizeof(Ecore_Pthread_Worker));
-   else _ecore_thread_worker_count--;
+   if (!result) 
+     {
+       result = calloc(1, sizeof(Ecore_Pthread_Worker));
+       _ecore_thread_worker_count++;
+     }
 
    LKI(result->cancel_mutex);
    LKI(result->mutex);