- bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error);
- if (!bus) {
- log_warning("Failed to get D-Bus connection: %s", bus_error_message(&error));
- goto finish;
- }
-
- if (bus_check_peercred(bus) < 0) {
- log_error("Bus owner not root.");
- goto finish;
- }
-
- m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released");
- if (!m) {
- log_error("Could not allocate signal message.");
- goto finish;
+ r = bus_open_system_systemd(&bus);
+ if (r < 0) {
+ /* If we couldn't connect we assume this was triggered
+ * while systemd got restarted/transitioned from
+ * initrd to the system, so let's ignore this */
+ log_debug_errno(r, "Failed to get D-Bus connection: %m");
+ return EXIT_FAILURE;