From cdaedecaa752585b4844080aff91ad8bdba2a56c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 23 May 2019 17:35:55 +0200 Subject: [PATCH] dispatcher: unown dispatcher D-Bus name on exit --- dispatcher/nm-dispatcher.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/dispatcher/nm-dispatcher.c b/dispatcher/nm-dispatcher.c index ccb15cbdf..9a7fd2aa6 100644 --- a/dispatcher/nm-dispatcher.c +++ b/dispatcher/nm-dispatcher.c @@ -1020,6 +1020,7 @@ main (int argc, char **argv) guint signal_id_term = 0; guint signal_id_int = 0; guint dbus_regist_id = 0; + guint dbus_own_name_id = 0; if (!parse_command_line (&argc, &argv, &error)) { _LOG_X_W ("Error parsing command line arguments: %s", error->message); @@ -1066,12 +1067,12 @@ main (int argc, char **argv) goto done; } - g_bus_own_name_on_connection (gl.dbus_connection, - NM_DISPATCHER_DBUS_SERVICE, - G_BUS_NAME_OWNER_FLAGS_NONE, - on_name_acquired, - on_name_lost, - NULL, NULL); + dbus_own_name_id = g_bus_own_name_on_connection (gl.dbus_connection, + NM_DISPATCHER_DBUS_SERVICE, + G_BUS_NAME_OWNER_FLAGS_NONE, + on_name_acquired, + on_name_lost, + NULL, NULL); quit_timeout_reschedule (); @@ -1079,6 +1080,9 @@ main (int argc, char **argv) done: + if (dbus_own_name_id != 0) + g_bus_unown_name (nm_steal_int (&dbus_own_name_id)); + if (dbus_regist_id != 0) g_dbus_connection_unregister_object (gl.dbus_connection, nm_steal_int (&dbus_regist_id));