[systemd-commits] 4 commits - TODO src/core src/libsystemd-bus

Lennart Poettering lennart at kemper.freedesktop.org
Tue Dec 10 15:11:43 PST 2013


 TODO                             |    4 ++++
 src/core/manager.c               |    2 --
 src/libsystemd-bus/bus-objects.c |    4 ++++
 src/libsystemd-bus/sd-bus.c      |    6 ++++--
 4 files changed, 12 insertions(+), 4 deletions(-)

New commits:
commit f820cf99c1cdb58e270fdf92389fea0413c1484e
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Dec 10 23:11:10 2013 +0000

    bus: do not dispatch incoming method calls that are broacasted to vtables

diff --git a/src/libsystemd-bus/bus-objects.c b/src/libsystemd-bus/bus-objects.c
index 8ffda2f..204e21d 100644
--- a/src/libsystemd-bus/bus-objects.c
+++ b/src/libsystemd-bus/bus-objects.c
@@ -1284,6 +1284,10 @@ int bus_process_object(sd_bus *bus, sd_bus_message *m) {
         if (hashmap_isempty(bus->nodes))
                 return 0;
 
+        /* Never respond to broadcast messages */
+        if (bus->bus_client && !m->destination)
+                return 0;
+
         assert(m->path);
         assert(m->member);
 

commit a82cafb97bf841deded572cd4ade039853cbdc4e
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Dec 10 23:06:50 2013 +0000

    bus: don't generate assert warnings when we detach a detached bus from an event

diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c
index 91fac48..0a2ce3e 100644
--- a/src/libsystemd-bus/sd-bus.c
+++ b/src/libsystemd-bus/sd-bus.c
@@ -2645,7 +2645,9 @@ fail:
 
 _public_ int sd_bus_detach_event(sd_bus *bus) {
         assert_return(bus, -EINVAL);
-        assert_return(bus->event, -ENXIO);
+
+        if (!bus->event)
+                return 0;
 
         if (bus->input_io_event_source) {
                 sd_event_source_set_enabled(bus->input_io_event_source, SD_EVENT_OFF);
@@ -2670,7 +2672,7 @@ _public_ int sd_bus_detach_event(sd_bus *bus) {
         if (bus->event)
                 bus->event = sd_event_unref(bus->event);
 
-        return 0;
+        return 1;
 }
 
 _public_ sd_event* sd_bus_get_event(sd_bus *bus) {

commit 80caea6cc72ebd311a311b1527cc6b87201c13bf
Author: Lennart Poettering <lennart at poettering.net>
Date:   Tue Dec 10 22:50:19 2013 +0000

    update TODO

diff --git a/TODO b/TODO
index dac44e0..2fb9cd3 100644
--- a/TODO
+++ b/TODO
@@ -126,6 +126,10 @@ Features:
     * priority queues
     * priority inheritance
   - sort out error codes for sd_bus_release_name(), distuingish: successful removal from foreign name, from non-existing name
+  - bug in kdbus: nameownerchange is not generated for names, only ids.
+  - kdbus: matches against source or destination pids for an "strace -p"-like feel. Problem: The PID info needs to be available in userspace too...
+  - kdbus: we need a way to distuingish messages we got due to monitoring from normal messages, since we want to bind methods only to the latter
+  - figure out what to do when fields in the kdbus header and in the payload header do not match
 
 * sd-event
   - allow multiple signal handlers per signal

commit 9a636ed8096fa44927f182ac3eaef4104866d4a9
Author: Shawn Landden <shawn at churchofgit.com>
Date:   Mon Dec 9 14:08:59 2013 -0800

    core: epoll and signalfd has been moved into sd event loop

diff --git a/src/core/manager.c b/src/core/manager.c
index c25343f..ad4c6e8 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -22,9 +22,7 @@
 #include <assert.h>
 #include <errno.h>
 #include <string.h>
-#include <sys/epoll.h>
 #include <signal.h>
-#include <sys/signalfd.h>
 #include <sys/wait.h>
 #include <unistd.h>
 #include <sys/poll.h>



More information about the systemd-commits mailing list