[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