- gthread->loop is held with thread_mutex.
- But it doesn't hold thread_mutex in tpl_gthread_add_idle
Change-Id: Ibaddbcf7e4d4b9ec661ee69c0a95dbc517970ea2
g_source_set_callback(idle_source,
idle_cb, (gpointer)data,
NULL);
g_source_set_callback(idle_source,
idle_cb, (gpointer)data,
NULL);
+
+ g_mutex_lock(>hread->thread_mutex);
g_source_attach(idle_source, g_main_loop_get_context(gthread->loop));
g_source_attach(idle_source, g_main_loop_get_context(gthread->loop));
+ g_mutex_unlock(>hread->thread_mutex);
g_source_unref(idle_source);
return TPL_ERROR_NONE;
g_source_unref(idle_source);
return TPL_ERROR_NONE;