mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
Merge branch '978-dbus-signal-emission-race' into 'master'
Fix race between D-Bus signal emission and unsubscription Closes #978 See merge request GNOME/glib!1332
This commit is contained in:
@@ -189,6 +189,7 @@ test_bus_own_name (void)
|
||||
* Stop owning the name - this should invoke our free func
|
||||
*/
|
||||
g_bus_unown_name (id);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data.num_free_func, ==, 2);
|
||||
|
||||
/*
|
||||
@@ -330,6 +331,7 @@ test_bus_own_name (void)
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
g_bus_unown_name (id2);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data2.num_bus_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
@@ -355,6 +357,7 @@ test_bus_own_name (void)
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
g_bus_unown_name (id2);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data2.num_bus_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
@@ -365,6 +368,7 @@ test_bus_own_name (void)
|
||||
*/
|
||||
data.expect_null_connection = FALSE;
|
||||
g_bus_unown_name (id);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data.num_bus_acquired, ==, 1);
|
||||
g_assert_cmpint (data.num_acquired, ==, 1);
|
||||
g_assert_cmpint (data.num_free_func, ==, 4);
|
||||
@@ -418,6 +422,7 @@ test_bus_own_name (void)
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
g_bus_unown_name (id2);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data2.num_bus_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_acquired, ==, 0);
|
||||
g_assert_cmpint (data2.num_lost, ==, 1);
|
||||
@@ -450,8 +455,9 @@ test_bus_own_name (void)
|
||||
g_assert_cmpint (data2.num_bus_acquired, ==, 0);
|
||||
/* ok, make owner2 release the name - then wait for owner to automagically reacquire it */
|
||||
g_bus_unown_name (id2);
|
||||
g_assert_cmpint (data2.num_free_func, ==, 1);
|
||||
g_main_loop_run (loop);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data2.num_free_func, ==, 1);
|
||||
g_assert_cmpint (data.num_acquired, ==, 2);
|
||||
g_assert_cmpint (data.num_lost, ==, 1);
|
||||
|
||||
@@ -466,6 +472,7 @@ test_bus_own_name (void)
|
||||
g_assert_cmpint (data.num_acquired, ==, 2);
|
||||
g_assert_cmpint (data.num_lost, ==, 2);
|
||||
g_bus_unown_name (id);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data.num_free_func, ==, 5);
|
||||
|
||||
g_object_unref (c);
|
||||
@@ -645,6 +652,7 @@ test_bus_watch_name (void)
|
||||
|
||||
/* unown the name */
|
||||
g_bus_unown_name (owner_id);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data.num_acquired, ==, 1);
|
||||
g_assert_cmpint (data.num_free_func, ==, 2);
|
||||
|
||||
@@ -704,6 +712,7 @@ test_bus_watch_name (void)
|
||||
g_assert_cmpint (data.num_free_func, ==, 1);
|
||||
|
||||
g_bus_unown_name (owner_id);
|
||||
g_main_loop_run (loop);
|
||||
g_assert_cmpint (data.num_free_func, ==, 2);
|
||||
|
||||
session_bus_down ();
|
||||
|
Reference in New Issue
Block a user