1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-13 13:17:43 +03:00

dbus: export number of total failed jobs on D-Bus interface

This commit is contained in:
Lennart Poettering 2010-09-23 15:38:42 +02:00
parent 22be093ffb
commit 76bf48b7d0
3 changed files with 8 additions and 1 deletions

View File

@ -133,6 +133,7 @@
" <property name=\"NNames\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"NJobs\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"NInstalledJobs\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"NFailedJobs\" type=\"u\" access=\"read\"/>\n" \
" <property name=\"Progress\" type=\"d\" access=\"read\"/>\n" \
" <property name=\"Environment\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"ConfirmSpawn\" type=\"b\" access=\"read\"/>\n" \
@ -267,6 +268,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
{ "org.freedesktop.systemd1.Manager", "NNames", bus_manager_append_n_names, "u", NULL },
{ "org.freedesktop.systemd1.Manager", "NJobs", bus_manager_append_n_jobs, "u", NULL },
{ "org.freedesktop.systemd1.Manager", "NInstalledJobs",bus_property_append_uint32, "u", &m->n_installed_jobs },
{ "org.freedesktop.systemd1.Manager", "NFailedJobs", bus_property_append_uint32, "u", &m->n_failed_jobs },
{ "org.freedesktop.systemd1.Manager", "Progress", bus_manager_append_progress, "d", NULL },
{ "org.freedesktop.systemd1.Manager", "Environment", bus_property_append_strv, "as", m->environment },
{ "org.freedesktop.systemd1.Manager", "ConfirmSpawn", bus_property_append_bool, "b", &m->confirm_spawn },

View File

@ -478,9 +478,13 @@ int job_finish_and_invalidate(Job *j, bool success) {
return 0;
}
j->failed = !success;
log_debug("Job %s/%s finished, success=%s", j->unit->meta.id, job_type_to_string(j->type), yes_no(success));
j->failed = !success;
if (j->failed)
j->manager->n_failed_jobs ++;
u = j->unit;
t = j->type;
job_free(j);

View File

@ -210,6 +210,7 @@ struct Manager {
int n_deserializing;
unsigned n_installed_jobs;
unsigned n_failed_jobs;
};
int manager_new(ManagerRunningAs running_as, Manager **m);