[systemd-commits] 3 commits - TODO src/core src/shared

Lennart Poettering lennart at kemper.freedesktop.org
Thu Dec 12 07:00:51 PST 2013


 TODO             |    3 ++-
 src/core/dbus.c  |    4 ++++
 src/shared/log.c |    1 +
 3 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit e5ca092c27c3fd725e5a8467c36d778dff5fbf98
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Dec 12 15:58:49 2013 +0100

    log: protect errno when we use assert_return()

diff --git a/src/shared/log.c b/src/shared/log.c
index c654b86..2404de8 100644
--- a/src/shared/log.c
+++ b/src/shared/log.c
@@ -713,6 +713,7 @@ _noreturn_ void log_assert_failed_unreachable(const char *text, const char *file
 }
 
 void log_assert_failed_return(const char *text, const char *file, int line, const char *func) {
+        PROTECT_ERRNO;
         log_assert(LOG_DEBUG, text, file, line, func, "Assertion '%s' failed at %s:%u, function %s(). Ignoring.");
 }
 

commit ad5b215d1bb06c908832de9297360b4266aef471
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Dec 12 15:58:31 2013 +0100

    core: suppress gcc warnings on selinux-less systems

diff --git a/src/core/dbus.c b/src/core/dbus.c
index df50138..ccbbc34 100644
--- a/src/core/dbus.c
+++ b/src/core/dbus.c
@@ -211,6 +211,7 @@ failed:
         return 0;
 }
 
+#ifdef HAVE_SELINUX
 static int selinux_filter(sd_bus *bus, sd_bus_message *message, void *userdata, sd_bus_error *error) {
         Manager *m = userdata;
         const char *verb, *path;
@@ -276,6 +277,7 @@ static int selinux_filter(sd_bus *bus, sd_bus_message *message, void *userdata,
 
         return 0;
 }
+#endif
 
 static int bus_job_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
         Manager *m = userdata;
@@ -534,11 +536,13 @@ static int bus_setup_api_vtables(Manager *m, sd_bus *bus) {
         assert(m);
         assert(bus);
 
+#ifdef HAVE_SELINUX
         r = sd_bus_add_filter(bus, selinux_filter, m);
         if (r < 0) {
                 log_error("Failed to add SELinux access filter: %s", strerror(-r));
                 return r;
         }
+#endif
 
         r = sd_bus_add_object_vtable(bus, "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", bus_manager_vtable, m);
         if (r < 0) {

commit 01390ca8a23292b6b78ec782a43b29a0d10e4af4
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Dec 12 15:58:13 2013 +0100

    update TODO

diff --git a/TODO b/TODO
index 7f56a26..dad55c4 100644
--- a/TODO
+++ b/TODO
@@ -126,6 +126,7 @@ Features:
   - sort out error codes for sd_bus_release_name(), distuingish: successful removal from foreign name, from non-existing name
   - 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
+  - kdbus: when we do "systemctl daemon-reexec" the call doesn't get properly cancelled
   - figure out what to do when fields in the kdbus header and in the payload header do not match
   - longer term:
     * priority queues
@@ -137,7 +138,7 @@ Features:
     but do not return anything up to the event loop caller. Instead
     add parameter to sd_event_request_quit() to take retval. This way
     errors rippling upwards are the option, not the default
-  - event sources should not be able to keep the sd_event around unconditionally
+  - when dispatching an event source then _unref() on it should remove it from the epoll
 
 * in the final killing spree, detect processes from the root directory, and
   complain loudly if they have argv[0][0] == '@' set.



More information about the systemd-commits mailing list