- k = sd_bus_send(b, m, NULL);
- if (k < 0) {
- r = k;
- log_error("Failed to send message: %s", strerror(-r));
- goto finish;
+ if (m) {
+ /* We officially got EOF, let's quit */
+ if (sd_bus_message_is_signal(m, "org.freedesktop.DBus.Local", "Disconnected")) {
+ r = 0;
+ goto finish;
+ }
+
+ k = sd_bus_send(busses[1-i].bus, m, NULL);
+ if (k < 0) {
+ r = k;
+ log_error("Failed to send message to bus %s: %s",
+ busses[1-i].name, strerror(-r));
+ goto finish;
+ }