aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChunEon Park <chuneon.park@samsung.com>2013-02-25 16:56:25 +0900
committerChunEon Park <chuneon.park@samsung.com>2013-02-25 16:56:25 +0900
commit2af4cc2687e68897fe77a3080352b0a1d15b6620 (patch)
treefeb2c235fb7e8c43469a5841ec4527f6c668cef9 /src
parent0920a8e182d022f0b7b527ce657265deae4580bd (diff)
downloadefl-2af4cc2687e68897fe77a3080352b0a1d15b6620.tar.gz
efl-2af4cc2687e68897fe77a3080352b0a1d15b6620.tar.xz
efl-2af4cc2687e68897fe77a3080352b0a1d15b6620.zip
* evas/cache: remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly.
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/cache/evas_preload.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/evas/cache/evas_preload.c b/src/lib/evas/cache/evas_preload.c
index 4ff103b7c..f3121a9e3 100644
--- a/src/lib/evas/cache/evas_preload.c
+++ b/src/lib/evas/cache/evas_preload.c
@@ -192,6 +192,7 @@ on_error:
LKL(_mutex);
if (_threads_count == 0)
{
+ _workers = EINA_INLIST_CONTAINER_GET(eina_inlist_remove(EINA_INLIST_GET(_workers), EINA_INLIST_GET(work)), Evas_Preload_Pthread_Worker);
LKU(_mutex);
if (work->func_cancel) work->func_cancel(work->data);
free(work);