Features:
+* services which create their own subcgroups break cgroup-empty notification (needs to be fixed in the kernel)
+
* don't delete /tmp/systemd-namespace-* before a process is gone down
* don't delete /run/users/lennart if lennart is still logged in even if aging is used
* vconsole: implement setterm -store -foreground xxx --background zzz
-* taint flag for rtc-in-localtime
-
-* include unit name in D-Bus 'Job' signals
-
* ExecOnFailure=/usr/bin/foo
* logind: add "mode" flag to poweroff/suspend inhibit logic so that we can
if (!dbus_message_append_args(m,
DBUS_TYPE_UINT32, &j->id,
DBUS_TYPE_OBJECT_PATH, &p,
+ DBUS_TYPE_STRING, &j->unit->id,
DBUS_TYPE_INVALID))
goto oom;
}
if (!dbus_message_append_args(m,
DBUS_TYPE_UINT32, &j->id,
DBUS_TYPE_OBJECT_PATH, &p,
+ DBUS_TYPE_STRING, &j->unit->id,
DBUS_TYPE_STRING, &r,
DBUS_TYPE_INVALID))
goto oom;
" <signal name=\"JobNew\">\n" \
" <arg name=\"id\" type=\"u\"/>\n" \
" <arg name=\"job\" type=\"o\"/>\n" \
+ " <arg name=\"unit\" type=\"s\"/>\n" \
" </signal>\n" \
" <signal name=\"JobRemoved\">\n" \
" <arg name=\"id\" type=\"u\"/>\n" \
" <arg name=\"job\" type=\"o\"/>\n" \
+ " <arg name=\"unit\" type=\"s\"/>\n" \
" <arg name=\"result\" type=\"s\"/>\n" \
" </signal>" \
" <signal name=\"StartupFinished\">\n" \
} else if (dbus_message_is_signal(message, "org.freedesktop.systemd1.Manager", "JobRemoved")) {
uint32_t id;
- const char *path, *result;
+ const char *path, *result, *unit;
dbus_bool_t success = true;
if (dbus_message_get_args(message, &error,
DBUS_TYPE_UINT32, &id,
DBUS_TYPE_OBJECT_PATH, &path,
+ DBUS_TYPE_STRING, &unit,
DBUS_TYPE_STRING, &result,
DBUS_TYPE_INVALID)) {
char *p;
- if ((p = set_remove(d->set, (char*) path)))
- free(p);
+ p = set_remove(d->set, (char*) path);
+ free(p);
if (*result)
d->result = strdup(result);
}
#ifndef LEGACY
dbus_error_free(&error);
+ if (dbus_message_get_args(message, &error,
+ DBUS_TYPE_UINT32, &id,
+ DBUS_TYPE_OBJECT_PATH, &path,
+ DBUS_TYPE_STRING, &result,
+ DBUS_TYPE_INVALID)) {
+ char *p;
+
+ /* Compatibility with older systemd versions <
+ * 183 during upgrades. This should be dropped
+ * one day. */
+ p = set_remove(d->set, (char*) path);
+ free(p);
+ if (*result)
+ d->result = strdup(result);
+
+ goto finish;
+ }
+
+ dbus_error_free(&error);
if (dbus_message_get_args(message, &error,
DBUS_TYPE_UINT32, &id,
DBUS_TYPE_OBJECT_PATH, &path,
* 19 during upgrades. This should be dropped
* one day */
- if ((p = set_remove(d->set, (char*) path)))
- free(p);
+ p = set_remove(d->set, (char*) path);
+ free(p);
if (!success)
d->result = strdup("failed");