diff --git a/src/core/dbus.c b/src/core/dbus.c index 744b97f9910..3f0f40e702b 100644 --- a/src/core/dbus.c +++ b/src/core/dbus.c @@ -131,10 +131,16 @@ static int signal_disconnected(sd_bus_message *message, void *userdata, sd_bus_e assert(message); assert_se(bus = sd_bus_message_get_bus(message)); - if (bus == m->api_bus) + if (bus == m->api_bus) { + log_notice("Got disconnect on API bus."); bus_done_api(m); - if (bus == m->system_bus) + } + if (bus == m->system_bus) { + /* If we are the system manager, this is already logged by the API bus. */ + if (!MANAGER_IS_SYSTEM(m)) + log_notice("Got disconnect on system bus."); bus_done_system(m); + } if (set_remove(m->private_buses, bus)) { log_debug("Got disconnect on private connection."); diff --git a/src/core/manager-dump.c b/src/core/manager-dump.c index a12d50c91ec..7e678fa03ee 100644 --- a/src/core/manager-dump.c +++ b/src/core/manager-dump.c @@ -77,6 +77,9 @@ static void manager_dump_header(Manager *m, FILE *f, const char *prefix) { timestamp_is_set(t->realtime) ? FORMAT_TIMESTAMP(t->realtime) : FORMAT_TIMESPAN(t->monotonic, 1)); } + + for (const char *n = sd_bus_track_first(m->subscribed); n; n = sd_bus_track_next(m->subscribed)) + fprintf(f, "%sSubscribed: %s\n", strempty(prefix), n); } void manager_dump(Manager *m, FILE *f, char **patterns, const char *prefix) {