From e34d74bdb390fce029e7734e93b7ff8154b75e26 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Thu, 7 Nov 2013 22:40:40 +0100 Subject: [PATCH] private: Use threading primitives correctly in private test We shouldn't be clearing statically allocated mutexes, and also don't use deprecated heap-allocated GPrivate. https://bugzilla.gnome.org/show_bug.cgi?id=711755 --- glib/tests/private.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/glib/tests/private.c b/glib/tests/private.c index 7ebfd6771..d23259c12 100644 --- a/glib/tests/private.c +++ b/glib/tests/private.c @@ -47,7 +47,6 @@ test_private1 (void) g_assert_cmpint (GPOINTER_TO_INT (value), ==, 2); } -static GPrivate *private2; static gint private2_destroy_count; static void @@ -56,6 +55,8 @@ private2_destroy (gpointer data) g_atomic_int_inc (&private2_destroy_count); } +static GPrivate private2 = G_PRIVATE_INIT (private2_destroy); + static gpointer private2_func (gpointer data) { @@ -66,9 +67,9 @@ private2_func (gpointer data) for (i = 0; i < 1000; i++) { v = value + (i % 5); - g_private_set (private2, GINT_TO_POINTER(v)); + g_private_set (&private2, GINT_TO_POINTER (v)); g_usleep (1000); - v2 = GPOINTER_TO_INT(g_private_get (private2)); + v2 = GPOINTER_TO_INT (g_private_get (&private2)); g_assert_cmpint (v, ==, v2); } @@ -91,10 +92,8 @@ test_private2 (void) GThread *thread[10]; gint i; - private2 = g_private_new (private2_destroy); - - g_private_set (private2, GINT_TO_POINTER(234)); - g_private_replace (private2, GINT_TO_POINTER(123)); + g_private_set (&private2, GINT_TO_POINTER (234)); + g_private_replace (&private2, GINT_TO_POINTER (123)); for (i = 0; i < 10; i++) thread[i] = g_thread_create (private2_func, GINT_TO_POINTER (i), TRUE, NULL); @@ -369,10 +368,6 @@ test_static_private5 (void) for (i = 0; i < 10; i++) g_thread_join (thread[i]); - - g_mutex_clear (&m5); - g_cond_clear (&c5a); - g_cond_clear (&c5b); } int