diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-08-24 14:20:17 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-08-24 14:34:36 -0500 |
commit | e0c1f4a2a7866109c651c956b182d5fe7b33b5d4 (patch) | |
tree | 3fa8d5151d929431cffb9f14c0d10f1201a84cd9 /src/lib/evas/common | |
parent | f125942231fae282f02ab3a321dce7384c8f9119 (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.c | 4 |
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 | ||
143 | void | 145 | void |