diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-07-12 02:56:17 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-07-12 03:07:02 +0200 |
commit | 3b6fdb5b5afebc49a7e987e3e3bf7aa2615d1671 (patch) | |
tree | 70ae0f1a280a1103e2c7db9e914c7a3318ced8f7 /src/job.c | |
parent | f6023656e10823dff9e4b9f70628b671b3f4ed96 (diff) |
unit: introduce IgnoreDependencyFailure=
Diffstat (limited to 'src/job.c')
-rw-r--r-- | src/job.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -495,14 +495,16 @@ int job_finish_and_invalidate(Job *j, bool success) { t == JOB_RELOAD_OR_START) { SET_FOREACH(other, u->meta.dependencies[UNIT_REQUIRED_BY], i) - if (other->meta.job && + if (!other->meta.ignore_dependency_failure && + other->meta.job && (other->meta.job->type == JOB_START || other->meta.job->type == JOB_VERIFY_ACTIVE || other->meta.job->type == JOB_RELOAD_OR_START)) job_finish_and_invalidate(other->meta.job, false); SET_FOREACH(other, u->meta.dependencies[UNIT_REQUIRED_BY_OVERRIDABLE], i) - if (other->meta.job && + if (!other->meta.ignore_dependency_failure && + other->meta.job && !other->meta.job->override && (other->meta.job->type == JOB_START || other->meta.job->type == JOB_VERIFY_ACTIVE || @@ -512,7 +514,8 @@ int job_finish_and_invalidate(Job *j, bool success) { } else if (t == JOB_STOP) { SET_FOREACH(other, u->meta.dependencies[UNIT_CONFLICTS], i) - if (other->meta.job && + if (!other->meta.ignore_dependency_failure && + other->meta.job && (other->meta.job->type == JOB_START || other->meta.job->type == JOB_VERIFY_ACTIVE || other->meta.job->type == JOB_RELOAD_OR_START)) |