From 11ee1bab60abde67cd0edc470c93c1afe10d975d Mon Sep 17 00:00:00 2001 From: Ronan Pigott Date: Thu, 28 Nov 2024 12:51:38 -0700 Subject: [PATCH 1/2] dbus: log disconnect on api and system busses This is an interesting event. Let's log about it. --- src/core/dbus.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/core/dbus.c b/src/core/dbus.c index 744b97f991..3f0f40e702 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."); From 91713841491d0d4775566ed59f621f0f9a2413b5 Mon Sep 17 00:00:00 2001 From: Ronan Pigott Date: Thu, 28 Nov 2024 12:52:45 -0700 Subject: [PATCH 2/2] manager: add list of subscribers to dump info This is handy for debugging. --- src/core/manager-dump.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/manager-dump.c b/src/core/manager-dump.c index a12d50c91e..7e678fa03e 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) {