From fe7f06f142cf42928e419d8578afd75bf1439672 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 11 Mar 2014 04:10:19 +0100 Subject: [PATCH] dbus: suppress duplicate and misleading messages When we try to send a signal on a connection we didn't hae the time to process the Disconnected message yet, don't generate multiple warning messages, but only a single debug message. https://bugs.freedesktop.org/show_bug.cgi?id=75874 --- src/core/dbus-manager.c | 7 +++++-- src/core/dbus-unit.c | 12 ++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git src/core/dbus-manager.c src/core/dbus-manager.c index 34ef1f5..30f28b6 100644 --- src/core/dbus-manager.c +++ src/core/dbus-manager.c @@ -1357,8 +1357,11 @@ static int reply_unit_file_changes_and_f unsigned i; int r; - if (n_changes > 0) - bus_manager_foreach_client(m, send_unit_files_changed, NULL); + if (n_changes > 0) { + r = bus_manager_foreach_client(m, send_unit_files_changed, NULL); + if (r < 0) + log_debug("Failed to send UnitFilesChanged signal: %s", strerror(-r)); + } r = sd_bus_message_new_method_return(message, &reply); if (r < 0) diff --git src/core/dbus-unit.c src/core/dbus-unit.c index 515ac8b..07e7f20 100644 --- src/core/dbus-unit.c +++ src/core/dbus-unit.c @@ -638,21 +638,13 @@ static int send_changed_signal(sd_bus *bus, void *userdata) { bus, p, UNIT_VTABLE(u)->bus_interface, NULL); - if (r < 0) { - log_warning("Failed to send out specific PropertiesChanged signal for %s: %s", u->id, strerror(-r)); + if (r < 0) return r; - } - r = sd_bus_emit_properties_changed_strv( + return sd_bus_emit_properties_changed_strv( bus, p, "org.freedesktop.systemd1.Unit", NULL); - if (r < 0) { - log_warning("Failed to send out generic PropertiesChanged signal for %s: %s", u->id, strerror(-r)); - return r; - } - - return 0; } void bus_unit_send_change_signal(Unit *u) { -- 1.7.9.2 --- src/core/dbus-manager.c +++ src/core/dbus-manager.c 2014-03-11 11:05:44.350235568 +0000