Patchwork [2/3] vl.c: Guard against GThread double-initialization

login
register
mail settings
Submitter Andreas Färber
Date Nov. 1, 2011, 7:56 p.m.
Message ID <1320177389-22498-3-git-send-email-andreas.faerber@web.de>
Download mbox | patch
Permalink /patch/123138/
State New
Headers show

Comments

Andreas Färber - Nov. 1, 2011, 7:56 p.m.
GThread-ERROR **: GThread system may only be initialized once.
aborting...

Making the g_thread_init() call in vl.c conditional resolves an abort on
Mac OS X, where coroutine-gthread.c seems to call it before vl.c.

Reported-by: Juan Pineda <juan@logician.com>
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Cc: Daniel P. Berrange <berrange@redhat.com>
---
 vl.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Patch

diff --git a/vl.c b/vl.c
index b56e0cb..624da0f 100644
--- a/vl.c
+++ b/vl.c
@@ -2185,7 +2185,9 @@  int main(int argc, char **argv, char **envp)
     error_set_progname(argv[0]);
 
     g_mem_set_vtable(&mem_trace);
-    g_thread_init(NULL);
+    if (!g_thread_supported()) {
+        g_thread_init(NULL);
+    }
 
     runstate_init();