+ strv_sort(m->environment);
+
+ return 0;
+}
+
+static int manager_setup_kdbus(Manager *m) {
+ _cleanup_free_ char *p = NULL;
+
+ assert(m);
+
+#ifdef ENABLE_KDBUS
+ if (m->kdbus_fd >= 0)
+ return 0;
+
+ /* If there's already a bus address set, don't set up kdbus */
+ if (m->running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS"))
+ return 0;
+
+ m->kdbus_fd = bus_kernel_create_bus(m->running_as == SYSTEMD_SYSTEM ? "system" : "user", &p);
+ if (m->kdbus_fd < 0) {
+ log_debug("Failed to set up kdbus: %s", strerror(-m->kdbus_fd));
+ return m->kdbus_fd;
+ }
+
+ log_debug("Successfully set up kdbus on %s", p);
+#endif
+