summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Guyomarc'h <jean@guyomarch.bzh>2017-03-23 22:58:08 +0100
committerStefan Schmidt <stefan@osg.samsung.com>2017-08-03 10:31:26 +0200
commit9368eedd353a88dd31ba50c71433f81a2978adb5 (patch)
tree708cc46ee7d5520949b7817cdc44ba67e1c47867
parent256450d294a7f7f6b0fd3bb96e05b1671db2bd92 (diff)
efl: terrible kludge so avoid termination crash on osx
Currently, elementary programs crash on termination on macOS (seems Sierra-specific). This is very nasty, looks like deep memory corruption... Without valgrind (or like) support on Sierra, it is difficult to pinpoint the origin of the problem. Due to the imminient release, and after discussion with @stefan, this kludge will allow the release to happen. This commit MUST be reverted just after the release, so we don't blindfold ourselves! Ref T5245
-rw-r--r--src/lib/elementary/elm_module.c14
-rw-r--r--src/lib/evas/common/evas_thread_render.c14
2 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_module.c b/src/lib/elementary/elm_module.c
index 03f70dc032..a987c9e23c 100644
--- a/src/lib/elementary/elm_module.c
+++ b/src/lib/elementary/elm_module.c
@@ -190,8 +190,22 @@ _elm_module_unload(Elm_Module *m)
190 if (m->module) 190 if (m->module)
191 { 191 {
192 if (m->shutdown_func) m->shutdown_func(m); 192 if (m->shutdown_func) m->shutdown_func(m);
193#if defined(__APPLE__) && defined(__MACH__)
194 /*
195 * FIXME
196 *
197 * MacOS currently undergo a fatal issue on shutdown: dlsym()
198 * crashes. I still have no clue why... Sue to the imminent release,
199 * let's NOT shutdown the module. Do nothing...
200 *
201 * THIS IS A TERRIBLE KLUDGE. IT MUST NOT STAY AFTER THE RELEASE OCCURS!
202 *
203 * FIXME
204 */
205#else
193 eina_module_unload(m->module); 206 eina_module_unload(m->module);
194 eina_module_free(m->module); 207 eina_module_free(m->module);
208#endif
195 m->module = NULL; 209 m->module = NULL;
196 } 210 }
197 m->shutdown_func = NULL; 211 m->shutdown_func = NULL;
diff --git a/src/lib/evas/common/evas_thread_render.c b/src/lib/evas/common/evas_thread_render.c
index bbde81a657..2f3b291927 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -261,7 +261,21 @@ evas_thread_shutdown(void)
261 } 261 }
262 } 262 }
263 263
264#if defined(__APPLE__) && defined(__MACH__)
265 /*
266 * FIXME
267 *
268 * MacOS currently undergo a fatal issue on shutdown: pthread_join()
269 * crashes. I still have no clue why... Sue to the imminent release,
270 * let's NOT join this thread: do nothing at all!
271 *
272 * THIS IS A TERRIBLE KLUDGE. IT MUST NOT STAY AFTER THE RELEASE OCCURS!
273 *
274 * FIXME
275 */
276#else
264 eina_thread_join(evas_thread_worker); 277 eina_thread_join(evas_thread_worker);
278#endif
265timeout_shutdown: 279timeout_shutdown:
266 eina_lock_free(&evas_thread_queue_lock); 280 eina_lock_free(&evas_thread_queue_lock);
267 eina_condition_free(&evas_thread_queue_condition); 281 eina_condition_free(&evas_thread_queue_condition);