summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
if (m->module)
{
if (m->shutdown_func) m->shutdown_func(m);
+#if defined(__APPLE__) && defined(__MACH__)
+ /*
+ * FIXME
+ *
+ * MacOS currently undergo a fatal issue on shutdown: dlsym()
+ * crashes. I still have no clue why... Sue to the imminent release,
+ * let's NOT shutdown the module. Do nothing...
+ *
+ * THIS IS A TERRIBLE KLUDGE. IT MUST NOT STAY AFTER THE RELEASE OCCURS!
+ *
+ * FIXME
+ */
+#else
eina_module_unload(m->module);
eina_module_free(m->module);
+#endif
m->module = NULL;
}
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)
}
}
+#if defined(__APPLE__) && defined(__MACH__)
+ /*
+ * FIXME
+ *
+ * MacOS currently undergo a fatal issue on shutdown: pthread_join()
+ * crashes. I still have no clue why... Sue to the imminent release,
+ * let's NOT join this thread: do nothing at all!
+ *
+ * THIS IS A TERRIBLE KLUDGE. IT MUST NOT STAY AFTER THE RELEASE OCCURS!
+ *
+ * FIXME
+ */
+#else
eina_thread_join(evas_thread_worker);
+#endif
timeout_shutdown:
eina_lock_free(&evas_thread_queue_lock);
eina_condition_free(&evas_thread_queue_condition);