summaryrefslogtreecommitdiff
path: root/src/lib/evas/common
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-08-24 14:20:17 -0500
committerDerek Foreman <derekf@osg.samsung.com>2016-08-24 14:34:36 -0500
commite0c1f4a2a7866109c651c956b182d5fe7b33b5d4 (patch)
tree3fa8d5151d929431cffb9f14c0d10f1201a84cd9 /src/lib/evas/common
parentf125942231fae282f02ab3a321dce7384c8f9119 (diff)
evas: Try harder to create the render thread
It's entirely possible that a system doesn't have a cpu 0, so when we try to pin all our render threads onto processor 0 we may fail. This results in some very connfusing build breakage when edje_cc hangs up because its render thread didn't start. So, if starting the thread with affinity fails, let's try without affinity. (This is trivial to reproduce - just use sysfs to turn off cpu0 after boot.) @fix
Diffstat (limited to 'src/lib/evas/common')
-rw-r--r--src/lib/evas/common/evas_thread_render.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/evas/common/evas_thread_render.c b/src/lib/evas/common/evas_thread_render.c
index 21214ac781..623e40e4f4 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -137,7 +137,9 @@ evas_thread_init(void)
137 CRI("Could not create draw thread condition"); 137 CRI("Could not create draw thread condition");
138 if (!eina_thread_create(&evas_thread_worker, EINA_THREAD_NORMAL, 0, 138 if (!eina_thread_create(&evas_thread_worker, EINA_THREAD_NORMAL, 0,
139 evas_thread_worker_func, NULL)) 139 evas_thread_worker_func, NULL))
140 CRI("Could not create draw thread"); 140 if (!eina_thread_create(&evas_thread_worker, EINA_THREAD_NORMAL, -1,
141 evas_thread_worker_func, NULL))
142 CRI("Could not create draw thread");
141} 143}
142 144
143void 145void