]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
test-privserver: Move cleanup of DBusLoop into test_service_data_free()
authorSimon McVittie <smcv@collabora.com>
Fri, 15 Jul 2022 12:47:33 +0000 (13:47 +0100)
committerSimon McVittie <smcv@collabora.com>
Fri, 15 Jul 2022 12:54:58 +0000 (13:54 +0100)
Signed-off-by: Simon McVittie <smcv@collabora.com>
test/test-privserver.c

index c189aa650b2f0cbbfc8db8cc7eefdb262bd4695f..ee8c5925e09a6791aaeb215046a1d69f9abaa579 100644 (file)
@@ -53,6 +53,7 @@ struct TestServiceData
 static void
 test_service_data_free (TestServiceData *self)
 {
+  _dbus_loop_unref (self->loop);
   dbus_free (self->private_addr);
   dbus_free (self);
 }
@@ -112,7 +113,6 @@ main (int argc, char *argv[])
 {
   DBusServer *server;
   DBusError error;
-  DBusLoop *loop;
   DBusConnection *session;
   TestServiceData *testdata;
 
@@ -124,16 +124,14 @@ main (int argc, char *argv[])
 
   dbus_error_init (&error);
 
-  loop = _dbus_loop_new ();
-
   testdata = dbus_new (TestServiceData, 1);
-  testdata->loop = loop;
+  testdata->loop = _dbus_loop_new ();
 
   session = dbus_bus_get (DBUS_BUS_SESSION, &error);
   if (!session)
     die ("couldn't access session bus");
 
-  test_connection_setup (loop, session);
+  test_connection_setup (testdata->loop, session);
 
   dbus_bus_request_name (session, "org.freedesktop.DBus.TestSuite.PrivServer", 0, &error);
   if (dbus_error_is_set (&error))
@@ -151,22 +149,20 @@ main (int argc, char *argv[])
   dbus_server_set_new_connection_function (server, new_connection_callback,
                                            testdata, NULL);
 
-  test_server_setup (loop, server);
+  test_server_setup (testdata->loop, server);
 
   fprintf (stderr, "server running mainloop\n");
-  _dbus_loop_run (loop);
+  _dbus_loop_run (testdata->loop);
   fprintf (stderr, "server mainloop quit\n");
 
-  test_server_shutdown (loop, server);
+  test_server_shutdown (testdata->loop, server);
 
-  test_connection_shutdown (loop, session);
+  test_connection_shutdown (testdata->loop, session);
 
   dbus_connection_unref (session);
 
   dbus_server_unref (server);
 
-  _dbus_loop_unref (loop);
-
   test_service_data_free (testdata);
 
   return 0;