summaryrefslogtreecommitdiff
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
parent0920a8e182d022f0b7b527ce657265deae4580bd (diff)
* 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.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS2
-rw-r--r--src/lib/evas/cache/evas_preload.c1
3 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5207cbca57..3504de1cd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12013-02-23 ChunEon Park (Hermet)
2
3 * 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.
4
12013-02-21 Tom Hacohen (TAsn) 52013-02-21 Tom Hacohen (TAsn)
2 6
3 * Evas text: Fixed bug with the text object direction detection. 7 * Evas text: Fixed bug with the text object direction detection.
diff --git a/NEWS b/NEWS
index d4f5c06d09..88792906c5 100644
--- a/NEWS
+++ b/NEWS
@@ -179,4 +179,4 @@ Fixes:
179 * Fix ecore-x edid fetch to ftech 128, not 100 bytes. 179 * Fix ecore-x edid fetch to ftech 128, not 100 bytes.
180 * Evas text: Fixed bug with the text object direction detection. 180 * Evas text: Fixed bug with the text object direction detection.
181 * Evas font: Fixed font run detection for specific cases with 2 different fonts in the middle of a run. 181 * Evas font: Fixed font run detection for specific cases with 2 different fonts in the middle of a run.
182 182 * 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.
diff --git a/src/lib/evas/cache/evas_preload.c b/src/lib/evas/cache/evas_preload.c
index 4ff103b7c8..f3121a9e32 100644
--- a/src/lib/evas/cache/evas_preload.c
+++ b/src/lib/evas/cache/evas_preload.c
@@ -192,6 +192,7 @@ on_error:
192 LKL(_mutex); 192 LKL(_mutex);
193 if (_threads_count == 0) 193 if (_threads_count == 0)
194 { 194 {
195 _workers = EINA_INLIST_CONTAINER_GET(eina_inlist_remove(EINA_INLIST_GET(_workers), EINA_INLIST_GET(work)), Evas_Preload_Pthread_Worker);
195 LKU(_mutex); 196 LKU(_mutex);
196 if (work->func_cancel) work->func_cancel(work->data); 197 if (work->func_cancel) work->func_cancel(work->data);
197 free(work); 198 free(work);