mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-26 02:48:54 +02:00
threadtests: Fix leaks in tests
https://bugzilla.gnome.org/show_bug.cgi?id=711779
This commit is contained in:
@@ -117,18 +117,15 @@ tester_init_thread (gpointer data)
|
|||||||
static void
|
static void
|
||||||
test_threaded_class_init (void)
|
test_threaded_class_init (void)
|
||||||
{
|
{
|
||||||
GThread *thread;
|
GThread *t1, *t2, *t3;
|
||||||
|
|
||||||
/* pause newly created threads */
|
/* pause newly created threads */
|
||||||
g_mutex_lock (&sync_mutex);
|
g_mutex_lock (&sync_mutex);
|
||||||
|
|
||||||
/* create threads */
|
/* create threads */
|
||||||
thread = g_thread_create (tester_init_thread, (gpointer) my_tester0_get_type(), TRUE, NULL);
|
t1 = g_thread_create (tester_init_thread, (gpointer) my_tester0_get_type(), TRUE, NULL);
|
||||||
g_thread_unref (thread);
|
t2 = g_thread_create (tester_init_thread, (gpointer) my_tester1_get_type(), TRUE, NULL);
|
||||||
thread = g_thread_create (tester_init_thread, (gpointer) my_tester1_get_type(), TRUE, NULL);
|
t3 = g_thread_create (tester_init_thread, (gpointer) my_tester2_get_type(), TRUE, NULL);
|
||||||
g_thread_unref (thread);
|
|
||||||
thread = g_thread_create (tester_init_thread, (gpointer) my_tester2_get_type(), TRUE, NULL);
|
|
||||||
g_thread_unref (thread);
|
|
||||||
|
|
||||||
/* execute threads */
|
/* execute threads */
|
||||||
g_mutex_unlock (&sync_mutex);
|
g_mutex_unlock (&sync_mutex);
|
||||||
@@ -142,6 +139,10 @@ test_threaded_class_init (void)
|
|||||||
g_print ("Total initializers: %u\n", g_atomic_int_get (&mtsafe_call_counter));
|
g_print ("Total initializers: %u\n", g_atomic_int_get (&mtsafe_call_counter));
|
||||||
/* ensure non-corrupted counter updates */
|
/* ensure non-corrupted counter updates */
|
||||||
g_assert_cmpint (g_atomic_int_get (&mtsafe_call_counter), ==, unsafe_call_counter);
|
g_assert_cmpint (g_atomic_int_get (&mtsafe_call_counter), ==, unsafe_call_counter);
|
||||||
|
|
||||||
|
g_thread_join (t1);
|
||||||
|
g_thread_join (t2);
|
||||||
|
g_thread_join (t3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user