From 5ad22bcc0e3777854ac1978185834193794d7513 Mon Sep 17 00:00:00 2001 From: raster Date: Thu, 29 Mar 2012 11:05:59 +0000 Subject: [PATCH] try fix to refactor of ecore where thread_count went negative as it was --'d when a no_queue thread finished too. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@69741 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore_thread.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore/ecore_thread.c b/src/lib/ecore/ecore_thread.c index 5c149d6..af70643 100644 --- a/src/lib/ecore/ecore_thread.c +++ b/src/lib/ecore/ecore_thread.c @@ -289,7 +289,10 @@ _ecore_thread_end(Ecore_Pthread_Data *pth, { Ecore_Pthread_Worker *worker = (Ecore_Pthread_Worker *)work; - if (!worker->message_run || !worker->feedback_run || (worker->feedback_run && !worker->no_queue)) + if (((!worker->message_run) || + (!worker->feedback_run) || + ((worker->feedback_run) && (!worker->no_queue))) && + (!worker->no_queue)) _ecore_thread_count--; if (PHJ(pth->thread) != 0) @@ -578,7 +581,7 @@ _ecore_direct_worker(Ecore_Pthread_Worker *work) end->cancel = EINA_FALSE; end->feedback_run = EINA_FALSE; end->message_run = EINA_FALSE; - end->no_queue = EINA_FALSE; +// end->no_queue = EINA_FALSE; end->kill = EINA_FALSE; end->hash = NULL; LKI(end->mutex); @@ -641,7 +644,7 @@ restart: work->feedback_run = EINA_FALSE; work->message_run = EINA_FALSE; work->kill = EINA_FALSE; - work->no_queue = EINA_FALSE; +// work->no_queue = EINA_FALSE; work->hash = NULL; ecore_main_loop_thread_safe_call_async(_ecore_thread_handler, work); -- 2.7.4