[systemd-commits] 2 commits - TODO src/core

Lennart Poettering lennart at kemper.freedesktop.org
Mon Mar 10 20:20:33 PDT 2014


 TODO                    |    1 +
 src/core/dbus-manager.c |    7 +++++--
 src/core/dbus-unit.c    |   12 ++----------
 3 files changed, 8 insertions(+), 12 deletions(-)

New commits:
commit 756461fd560b4603703661913cfde6685cc96c38
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Mar 11 04:19:43 2014 +0100

    update TODO

diff --git a/TODO b/TODO
index 75665b7..3b0e027 100644
--- a/TODO
+++ b/TODO
@@ -190,6 +190,7 @@ Features:
   - port to sd-resolve for connecting to TCP dbus servers
   - constructors for bus messages should probably not be OK with a NULL bus pointer
   - sd_bus_escape_label() should probably be reworked into sd_bus_make_bus_path(prefix, external_id)
+  - .busname units should not use get_user_creds()/get_cgroup_creds() but instead do NSS only in temporarily forked off child
 
 * sd-event
   - allow multiple signal handlers per signal?

commit fe7f06f142cf42928e419d8578afd75bf1439672
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Mar 11 04:10:19 2014 +0100

    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

diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
index 34ef1f5..30f28b6 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 515ac8b..07e7f20 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) {



More information about the systemd-commits mailing list