test_dispatch (const gchar *object_path)
{
GThread *thread;
- GError *error;
/* run this in a thread to avoid deadlocks */
- error = NULL;
- thread = g_thread_create (test_dispatch_thread_func,
- (gpointer) object_path,
- TRUE,
- &error);
- g_assert_no_error (error);
- g_assert (thread != NULL);
+ thread = g_thread_new ("test_dispatch",
+ test_dispatch_thread_func,
+ (gpointer) object_path);
g_main_loop_run (loop);
g_thread_join (thread);
}
/* unregister it via the id */
g_assert (g_dbus_connection_unregister_object (c, registration_id));
+ g_main_context_iteration (NULL, FALSE);
g_assert_cmpint (data.num_unregistered_calls, ==, 1);
intern2_foo_reg_id = 0;
/* unregister it, then register it again */
g_assert_cmpint (data.num_unregistered_subtree_calls, ==, 0);
g_assert (g_dbus_connection_unregister_subtree (c, subtree_registration_id));
+ g_main_context_iteration (NULL, FALSE);
g_assert_cmpint (data.num_unregistered_subtree_calls, ==, 1);
subtree_registration_id = g_dbus_connection_register_subtree (c,
"/foo/boss/executives",
/* check that unregistering the subtree handler works */
g_assert_cmpint (data.num_unregistered_subtree_calls, ==, 1);
g_assert (g_dbus_connection_unregister_subtree (c, subtree_registration_id));
+ g_main_context_iteration (NULL, FALSE);
g_assert_cmpint (data.num_unregistered_subtree_calls, ==, 2);
nodes = get_nodes_at (c, "/foo/boss/executives");
g_assert (nodes != NULL);
g_assert (g_dbus_connection_unregister_object (c, non_subtree_object_path_bar_reg_id));
g_assert (g_dbus_connection_unregister_object (c, non_subtree_object_path_foo_reg_id));
+ g_main_context_iteration (NULL, FALSE);
g_assert_cmpint (data.num_unregistered_calls, ==, num_successful_registrations);
/* check that we no longer export any objects - TODO: it looks like there's a bug in