summaryrefslogtreecommitdiff
path: root/test/internals
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2012-01-23 11:11:24 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2012-01-23 11:11:24 +0000
commit11b31b864fe7aad4084544f9f846a2ddfe39c28a (patch)
tree9911fc680a5871cb06efe92a509268e509854d7e /test/internals
parent61758931005407de85952169e8253a72805e59ef (diff)
Port to glib 2.31.x g_thread API
g_thread_init() is deprecated since glib 2.24, call g_type_init() instead. Bump glib requirement accordingly. g_thread_create is deprecated since 2.31, use g_thread_new() instead. When building with a glib earlier than 2.31, provide a backwards compatibility shim. [Added a comment about why we're using g_type_init() in a test that doesn't otherwise use GObject -smcv] Bug: https://bugs.freedesktop.org/show_bug.cgi?id=44413 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Diffstat (limited to 'test/internals')
-rw-r--r--test/internals/refs.c78
1 files changed, 37 insertions, 41 deletions
diff --git a/test/internals/refs.c b/test/internals/refs.c
index bc0884e3..db43a4da 100644
--- a/test/internals/refs.c
+++ b/test/internals/refs.c
@@ -27,6 +27,7 @@
#include <config.h>
#include <glib.h>
+#include <glib-object.h>
#define DBUS_COMPILATION /* this test uses libdbus-internal */
#include <dbus/dbus.h>
@@ -77,6 +78,11 @@ typedef struct {
VoidFunc unlock;
} Thread;
+/* provide backwards compatibility shim when building with a glib <= 2.30.x */
+#if !GLIB_CHECK_VERSION(2,31,0)
+#define g_thread_new(name,func,data) g_thread_create(func,data,TRUE,NULL)
+#endif
+
static gpointer
ref_thread (gpointer data)
{
@@ -276,10 +282,9 @@ test_connection (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (ref_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &public_api);
else
- f->threads[i] = g_thread_create (ref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -289,11 +294,9 @@ test_connection (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (cycle_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &public_api);
else
- f->threads[i] = g_thread_create (cycle_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -303,11 +306,9 @@ test_connection (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (unref_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &public_api);
else
- f->threads[i] = g_thread_create (unref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -360,10 +361,9 @@ test_server (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (ref_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &public_api);
else
- f->threads[i] = g_thread_create (ref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -373,11 +373,9 @@ test_server (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (cycle_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &public_api);
else
- f->threads[i] = g_thread_create (cycle_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -387,11 +385,9 @@ test_server (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (unref_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &public_api);
else
- f->threads[i] = g_thread_create (unref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -426,7 +422,7 @@ test_message (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
- f->threads[i] = g_thread_create (ref_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &public_api);
g_assert (f->threads[i] != NULL);
}
@@ -434,7 +430,7 @@ test_message (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
- f->threads[i] = g_thread_create (cycle_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &public_api);
g_assert (f->threads[i] != NULL);
}
@@ -442,7 +438,7 @@ test_message (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
- f->threads[i] = g_thread_create (unref_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &public_api);
g_assert (f->threads[i] != NULL);
}
@@ -500,10 +496,9 @@ test_pending_call (Fixture *f,
for (i = 0; i < N_THREADS; i++)
{
if ((i % 2) == 0)
- f->threads[i] = g_thread_create (ref_thread, &public_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &public_api);
else
- f->threads[i] = g_thread_create (ref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, ref_thread, &internal_api);
g_assert (f->threads[i] != NULL);
}
@@ -515,16 +510,14 @@ test_pending_call (Fixture *f,
switch (i % 3)
{
case 0:
- f->threads[i] = g_thread_create (cycle_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &public_api);
break;
case 1:
- f->threads[i] = g_thread_create (cycle_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread, &internal_api);
break;
default:
- f->threads[i] = g_thread_create (cycle_thread,
- &unref_and_unlock_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, cycle_thread,
+ &unref_and_unlock_api);
}
g_assert (f->threads[i] != NULL);
@@ -537,16 +530,14 @@ test_pending_call (Fixture *f,
switch (i % 3)
{
case 0:
- f->threads[i] = g_thread_create (unref_thread, &public_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &public_api);
break;
case 1:
- f->threads[i] = g_thread_create (unref_thread, &internal_api, TRUE,
- NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread, &internal_api);
break;
default:
- f->threads[i] = g_thread_create (unref_thread,
- &unref_and_unlock_api, TRUE, NULL);
+ f->threads[i] = g_thread_new (NULL, unref_thread,
+ &unref_and_unlock_api);
}
g_assert (f->threads[i] != NULL);
@@ -595,7 +586,12 @@ int
main (int argc,
char **argv)
{
- g_thread_init (NULL);
+ /* In GLib >= 2.24, < 2.31 this acts like g_thread_init() but avoids
+ * the deprecation of that function. In GLib >= 2.32 this is not
+ * necessary at all.
+ */
+ g_type_init ();
+
g_test_init (&argc, &argv, NULL);
g_test_bug_base ("https://bugs.freedesktop.org/show_bug.cgi?id=");