提交 42ed3727 编写于 作者: A Alon Levy 提交者: Anthony Liguori

g_thread_init users: don't call it if glib >= 2.31

since commit f9b29ca03 included in release 2.31 (docs below say 2.32 but
that is not correct) and onwards g_thread_init is deprecated and calling
it is not required:

 http://developer.gnome.org/glib/unstable/glib-Deprecated-Thread-APIs.html#g-thread-init

 g_thread_init has been deprecated since version 2.32 and should not be
 used in newly-written code. This function is no longer necessary. The
 GLib threading system is automatically initialized at the start of your
 program.

Fixes bulid failure when warnings are treated as errors on fedora 17.

I only tested the change to vl.c, and copy pasted to the two other
locations (couldn't decide if a wrapper for calling g_thread_init is
uglier).
Signed-off-by: NAlon Levy <alevy@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 4a0f031d
...@@ -36,7 +36,12 @@ static GStaticPrivate coroutine_key = G_STATIC_PRIVATE_INIT; ...@@ -36,7 +36,12 @@ static GStaticPrivate coroutine_key = G_STATIC_PRIVATE_INIT;
static void __attribute__((constructor)) coroutine_init(void) static void __attribute__((constructor)) coroutine_init(void)
{ {
if (!g_thread_supported()) { if (!g_thread_supported()) {
#if !GLIB_CHECK_VERSION(2, 31, 0)
g_thread_init(NULL); g_thread_init(NULL);
#else
fprintf(stderr, "glib threading failed to initialize.\n");
exit(1);
#endif
} }
coroutine_cond = g_cond_new(); coroutine_cond = g_cond_new();
......
...@@ -376,7 +376,12 @@ bool trace_backend_init(const char *events, const char *file) ...@@ -376,7 +376,12 @@ bool trace_backend_init(const char *events, const char *file)
GThread *thread; GThread *thread;
if (!g_thread_supported()) { if (!g_thread_supported()) {
#if !GLIB_CHECK_VERSION(2, 31, 0)
g_thread_init(NULL); g_thread_init(NULL);
#else
fprintf(stderr, "glib threading failed to initialize.\n");
exit(1);
#endif
} }
trace_available_cond = g_cond_new(); trace_available_cond = g_cond_new();
......
...@@ -2176,7 +2176,12 @@ int main(int argc, char **argv, char **envp) ...@@ -2176,7 +2176,12 @@ int main(int argc, char **argv, char **envp)
g_mem_set_vtable(&mem_trace); g_mem_set_vtable(&mem_trace);
if (!g_thread_supported()) { if (!g_thread_supported()) {
#if !GLIB_CHECK_VERSION(2, 31, 0)
g_thread_init(NULL); g_thread_init(NULL);
#else
fprintf(stderr, "glib threading failed to initialize.\n");
exit(1);
#endif
} }
runstate_init(); runstate_init();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册