mirror of
https://github.com/systemd/systemd.git
synced 2024-11-06 08:26:52 +03:00
job: introduce new job result code 'skipped' to use when pre conditions of job did not apply
https://bugzilla.redhat.com/show_bug.cgi?id=682245 https://bugzilla.redhat.com/show_bug.cgi?id=635780
This commit is contained in:
parent
8125393018
commit
d68201e9aa
@ -465,6 +465,8 @@ int job_run_and_invalidate(Job *j) {
|
||||
if ((j = manager_get_job(m, id))) {
|
||||
if (r == -EALREADY)
|
||||
r = job_finish_and_invalidate(j, JOB_DONE);
|
||||
else if (r == -ENOEXEC)
|
||||
r = job_finish_and_invalidate(j, JOB_SKIPPED);
|
||||
else if (r == -EAGAIN)
|
||||
j->state = JOB_WAITING;
|
||||
else if (r < 0)
|
||||
@ -702,7 +704,8 @@ static const char* const job_result_table[_JOB_RESULT_MAX] = {
|
||||
[JOB_CANCELED] = "canceled",
|
||||
[JOB_TIMEOUT] = "timeout",
|
||||
[JOB_FAILED] = "failed",
|
||||
[JOB_DEPENDENCY] = "dependency"
|
||||
[JOB_DEPENDENCY] = "dependency",
|
||||
[JOB_SKIPPED] = "skipped"
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(job_result, JobResult);
|
||||
|
@ -78,6 +78,7 @@ enum JobResult {
|
||||
JOB_TIMEOUT,
|
||||
JOB_FAILED,
|
||||
JOB_DEPENDENCY,
|
||||
JOB_SKIPPED,
|
||||
_JOB_RESULT_MAX,
|
||||
_JOB_RESULT_INVALID = -1
|
||||
};
|
||||
|
@ -1249,7 +1249,7 @@ static int wait_for_jobs(DBusConnection *bus, Set *s) {
|
||||
log_error("Job canceled.");
|
||||
else if (streq(d.result, "dependency"))
|
||||
log_error("A dependency job failed. See system logs for details.");
|
||||
else if (!streq(d.result, "done"))
|
||||
else if (!streq(d.result, "done") && !streq(d.result, "skipped"))
|
||||
log_error("Job failed. See system logs and 'systemctl status' for details.");
|
||||
}
|
||||
|
||||
@ -1257,7 +1257,7 @@ static int wait_for_jobs(DBusConnection *bus, Set *s) {
|
||||
r = -ETIME;
|
||||
else if (streq_ptr(d.result, "canceled"))
|
||||
r = -ECANCELED;
|
||||
else if (!streq_ptr(d.result, "done"))
|
||||
else if (!streq_ptr(d.result, "done") && !streq_ptr(d.result, "skipped"))
|
||||
r = -EIO;
|
||||
else
|
||||
r = 0;
|
||||
@ -1417,11 +1417,15 @@ static int start_unit(DBusConnection *bus, char **args, unsigned n) {
|
||||
streq(args[0], "stop") ? "StopUnit" :
|
||||
streq(args[0], "reload") ? "ReloadUnit" :
|
||||
streq(args[0], "restart") ? "RestartUnit" :
|
||||
|
||||
streq(args[0], "try-restart") ||
|
||||
streq(args[0], "condrestart") ? "TryRestartUnit" :
|
||||
|
||||
streq(args[0], "reload-or-restart") ? "ReloadOrRestartUnit" :
|
||||
|
||||
streq(args[0], "reload-or-try-restart") ||
|
||||
streq(args[0], "condreload") ||
|
||||
|
||||
streq(args[0], "force-reload") ? "ReloadOrTryRestartUnit" :
|
||||
"StartUnit";
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user