summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Guyomarc'h <jean@guyomarch.bzh>2017-03-23 22:58:08 +0100
committerJean Guyomarc'h <jean@guyomarch.bzh>2017-03-23 23:07:18 +0100
commit2f6c6abbd1a0e1386550e74d906e27a3cd27e384 (patch)
treedb48c0ff853c398a8f1887d0aca84b67dc80ba8b
parent35a7e7ff1810a29820c9f05fbbd4cb63fb964f16 (diff)
efl: terrible kludge so avoid termination crash on osxdevs/jayji/kludge
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 85955669ac..e66acd5270 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -220,7 +220,21 @@ evas_thread_shutdown(void)
220 } 220 }
221 } 221 }
222 222
223#if defined(__APPLE__) && defined(__MACH__)
224 /*
225 * FIXME
226 *
227 * MacOS currently undergo a fatal issue on shutdown: pthread_join()
228 * crashes. I still have no clue why... Sue to the imminent release,
229 * let's NOT join this thread: do nothing at all!
230 *
231 * THIS IS A TERRIBLE KLUDGE. IT MUST NOT STAY AFTER THE RELEASE OCCURS!
232 *
233 * FIXME
234 */
235#else
223 eina_thread_join(evas_thread_worker); 236 eina_thread_join(evas_thread_worker);
237#endif
224timeout_shutdown: 238timeout_shutdown:
225 eina_lock_free(&evas_thread_queue_lock); 239 eina_lock_free(&evas_thread_queue_lock);
226 eina_condition_free(&evas_thread_queue_condition); 240 eina_condition_free(&evas_thread_queue_condition);