summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-03-11 04:10:19 +0100
committerLennart Poettering <lennart@poettering.net>2014-03-11 04:19:59 +0100
commitfe7f06f142cf42928e419d8578afd75bf1439672 (patch)
treee3648abc539e5599e72379b8867a89c4aa7b1c6d
parent7ced1d8f878cf233fb0dd58a1820940b5ecd5dcc (diff)
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
-rw-r--r--src/core/dbus-manager.c7
-rw-r--r--src/core/dbus-unit.c12
2 files changed, 7 insertions, 12 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 34ef1f5d29..30f28b6e2c 100644
--- a/src/core/dbus-manager.c
+++ b/src/core/dbus-manager.c
@@ -1386,8 +1386,11 @@ static int reply_unit_file_changes_and_free(
unsigned i;
int r;
- if (n_changes > 0)
- bus_foreach_bus(m, NULL, send_unit_files_changed, NULL);
+ if (n_changes > 0) {
+ r = bus_foreach_bus(m, NULL, 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 a/src/core/dbus-unit.c b/src/core/dbus-unit.c
index 515ac8b78c..07e7f20e6b 100644
--- a/src/core/dbus-unit.c
+++ b/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) {