summaryrefslogtreecommitdiff
path: root/trace
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2013-02-12 14:34:05 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-02-12 16:26:44 -0600
commit4a0e6714b06453078e02029e1432fab052927691 (patch)
tree94c97870a0b83f7668481a23d538766107750b58 /trace
parent30d940875dcd1adfbfd7fe7ccd3e543408519662 (diff)
downloadqemu-4a0e6714b06453078e02029e1432fab052927691.tar.gz
trace: deal with deprecated glib thread functions
g_thread_create() was deprecated in favor of g_thread_new() and g_cond_new() was deprecated in favor of GCond initialization. If the host has glib 2.31 or newer, avoid using the deprecated functions. This patch solves compiler warnings that are generated when glib's deprecated functions are used. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: 1360676045-9204-3-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'trace')
-rw-r--r--trace/simple.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/trace/simple.c b/trace/simple.c
index 1d5d8e4667..375d98f70b 100644
--- a/trace/simple.c
+++ b/trace/simple.c
@@ -40,8 +40,18 @@
* records to become available, writes them out, and then waits again.
*/
static GStaticMutex trace_lock = G_STATIC_MUTEX_INIT;
+
+/* g_cond_new() was deprecated in glib 2.31 but we still need to support it */
+#if GLIB_CHECK_VERSION(2, 31, 0)
+static GCond the_trace_available_cond;
+static GCond the_trace_empty_cond;
+static GCond *trace_available_cond = &the_trace_available_cond;
+static GCond *trace_empty_cond = &the_trace_empty_cond;
+#else
static GCond *trace_available_cond;
static GCond *trace_empty_cond;
+#endif
+
static bool trace_available;
static bool trace_writeout_enabled;
@@ -397,7 +407,13 @@ static GThread *trace_thread_create(GThreadFunc fn)
sigfillset(&set);
pthread_sigmask(SIG_SETMASK, &set, &oldset);
#endif
+
+#if GLIB_CHECK_VERSION(2, 31, 0)
+ thread = g_thread_new("trace-thread", fn, NULL);
+#else
thread = g_thread_create(fn, NULL, FALSE, NULL);
+#endif
+
#ifndef _WIN32
pthread_sigmask(SIG_SETMASK, &oldset, NULL);
#endif
@@ -418,8 +434,10 @@ bool trace_backend_init(const char *events, const char *file)
#endif
}
+#if !GLIB_CHECK_VERSION(2, 31, 0)
trace_available_cond = g_cond_new();
trace_empty_cond = g_cond_new();
+#endif
thread = trace_thread_create(writeout_thread);
if (!thread) {