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

Lennart Poettering lennart at kemper.freedesktop.org
Thu Sep 12 09:15:26 PDT 2013


 TODO                      |   13 +++++++++++++
 src/systemctl/systemctl.c |   14 +++++++++++---
 2 files changed, 24 insertions(+), 3 deletions(-)

New commits:
commit fcba531ed4c6e6f8f21d8ca4e3a56e3162b1c578
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Sep 12 18:09:00 2013 +0200

    update TODO

diff --git a/TODO b/TODO
index 5824829..7f6defb 100644
--- a/TODO
+++ b/TODO
@@ -58,6 +58,19 @@ CGroup Rework Completion:
 
 Features:
 
+* backlight: properly handle multiple backlight devices for the same
+  hardware: at shutdown we should only save the backlight setting for
+  the "best" way to access the backlight. Strategy should be: at
+  shutdown, ignore all backlights that are connected to a non-eDP or
+  non-LVDS port, and then prefer the firmware device over platform
+  device over raw device per-PCI card. Delete all old data. At boot
+  simply apply whatever data we find. Also see
+  http://cgit.freedesktop.org/libbacklight/tree/libbacklight.c#n194
+
+* rfkill: save/restore soft rfkill status across reboots
+
+* refuse boot if /etc/os-release is missing or /etc/machine-id cannot be set up
+
 * ensure scope units may be started only a single time
 
 * document that in instead of FsckPassNo= people should just add a manual dep to systemd-fsck at .service to their mount units.

commit c1e784feb4756226f09a94feeed81a3c0d9aac5e
Author: Michal Sekletar <msekleta at redhat.com>
Date:   Thu Sep 12 15:42:24 2013 +0200

    systemctl: process only signals for jobs we really wait for
    
    wait_filter() callback shouldn't process JobRemove signals for arbitrary
    jobs. It should only deal with signals for jobs which are included in
    set of jobs we wait for.

diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index a305c3d..dc3e41b 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1494,7 +1494,7 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
 
         } else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
                 uint32_t id;
-                const char *path, *result, *unit;
+                const char *path, *result, *unit, *r;
 
                 if (dbus_message_get_args(message, &error,
                                           DBUS_TYPE_UINT32, &id,
@@ -1503,7 +1503,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
                                           DBUS_TYPE_STRING, &result,
                                           DBUS_TYPE_INVALID)) {
 
-                        free(set_remove(d->set, (char*) path));
+                        r = set_remove(d->set, (char*) path);
+                        if (!r)
+                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+                        free(r);
 
                         if (!isempty(result))
                                 d->result = strdup(result);
@@ -1523,7 +1527,11 @@ static DBusHandlerResult wait_filter(DBusConnection *connection, DBusMessage *me
                         /* Compatibility with older systemd versions <
                          * 183 during upgrades. This should be dropped
                          * one day. */
-                        free(set_remove(d->set, (char*) path));
+                        r = set_remove(d->set, (char*) path);
+                        if (!r)
+                                return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+
+                        free(r);
 
                         if (*result)
                                 d->result = strdup(result);



More information about the systemd-commits mailing list