From 46b15bb58148d84b3681d1a728ca0e6e96d65122 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Tue, 15 Jan 2013 15:40:09 -0500 Subject: [PATCH] mainloop test: use atomic for cross-thread access --- glib/tests/mainloop.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c index e66216dec..35995a23c 100644 --- a/glib/tests/mainloop.c +++ b/glib/tests/mainloop.c @@ -762,14 +762,14 @@ test_mainloop_overflow (void) g_main_context_unref (ctx); } -static volatile gboolean ready_time_dispatched; +static volatile gint ready_time_dispatched; static gboolean ready_time_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) { - ready_time_dispatched = TRUE; + g_atomic_int_set (&ready_time_dispatched, TRUE); g_source_set_ready_time (source, -1); @@ -862,13 +862,13 @@ test_ready_time (void) g_source_set_ready_time (source, 0); loop = g_main_loop_new (NULL, FALSE); thread = g_thread_new ("context thread", run_context, loop); - while (!ready_time_dispatched); + while (!g_atomic_int_get (&ready_time_dispatched)); /* Now let's see if it can wake up from sleeping. */ g_usleep (G_TIME_SPAN_SECOND / 2); - ready_time_dispatched = FALSE; + g_atomic_int_set (&ready_time_dispatched, FALSE); g_source_set_ready_time (source, 0); - while (!ready_time_dispatched); + while (!g_atomic_int_get (&ready_time_dispatched)); /* kill the thread */ g_main_loop_quit (loop);