summaryrefslogtreecommitdiff
path: root/src/nm-dbus-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-dbus-manager.c')
-rw-r--r--src/nm-dbus-manager.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nm-dbus-manager.c b/src/nm-dbus-manager.c
index bb52457a75..37039f1872 100644
--- a/src/nm-dbus-manager.c
+++ b/src/nm-dbus-manager.c
@@ -339,6 +339,24 @@ nm_dbus_manager_start_service (NMDBusManager *self)
return FALSE;
}
+ if (!dbus_g_proxy_call (priv->proxy, "RequestName", &err,
+ G_TYPE_STRING, NM_DBUS_SERVICE_SYSTEM_SETTINGS,
+ G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE,
+ G_TYPE_INVALID,
+ G_TYPE_UINT, &result,
+ G_TYPE_INVALID)) {
+ g_warning ("Could not acquire the NetworkManagerSystemSettings service.\n"
+ " Message: '%s'", err->message);
+ g_error_free (err);
+ return FALSE;
+ }
+
+ if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
+ g_warning ("Could not acquire the NetworkManagerSystemSettings service "
+ "as it is already taken.");
+ return FALSE;
+ }
+
priv->started = TRUE;
return priv->started;
}