jayji pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=469cf26873403f0453841ff9902d7d8b73cdc434
commit 469cf26873403f0453841ff9902d7d8b73cdc434 Author: Jean Guyomarc'h <jean.guyoma...@openwide.fr> Date: Tue Aug 23 16:51:54 2016 +0200 evas: handle thread queue creation failure eina_thread_queue_create() might fail. Actually it does fail on Mac OS X under some circumstances. --- src/lib/evas/common/evas_scale_sample.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/common/evas_scale_sample.c b/src/lib/evas/common/evas_scale_sample.c index 61f071f..008e43d 100644 --- a/src/lib/evas/common/evas_scale_sample.c +++ b/src/lib/evas/common/evas_scale_sample.c @@ -871,15 +871,30 @@ evas_common_scale_sample_init(void) if (eina_cpu_count() <= 2) return ; thread_queue = eina_thread_queue_new(); + if (EINA_UNLIKELY(!thread_queue)) + { + ERR("Failed to create thread queue"); + goto cleanup; + } main_queue = eina_thread_queue_new(); + if (EINA_UNLIKELY(!thread_queue)) + { + ERR("Failed to create thread queue"); + goto cleanup; + } if (!eina_thread_create(&scaling_thread, EINA_THREAD_NORMAL, -1, _evas_common_scale_sample_thread, NULL)) { - return; + goto cleanup; } use_thread = EINA_TRUE; + return; + +cleanup: + if (thread_queue) eina_thread_queue_free(thread_queue); + if (main_queue) eina_thread_queue_free(main_queue); } EAPI void --