summaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-04-07 16:38:56 +0200
committerLennart Poettering <lennart@poettering.net>2010-04-07 16:38:56 +0200
commitdda5a135b8311ed3be5d930a4f6f560d638813f4 (patch)
treea65b7b4974435ea1d6bc5dad64e145025fc01ea9 /job.c
parentedddf4ff8841951cdbb698f72a3f4f8554ce8d33 (diff)
job: fix pulldown-on-failure logic
Diffstat (limited to 'job.c')
-rw-r--r--job.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/job.c b/job.c
index 6e04683fdd..5e250d58f0 100644
--- a/job.c
+++ b/job.c
@@ -485,26 +485,26 @@ int job_finish_and_invalidate(Job *j, bool success) {
SET_FOREACH(other, u->meta.dependencies[UNIT_REQUIRED_BY], i)
if (other->meta.job &&
- (other->meta.type == JOB_START ||
- other->meta.type == JOB_VERIFY_ACTIVE ||
- other->meta.type == JOB_RELOAD_OR_START))
+ (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_SOFT_REQUIRED_BY], i)
if (other->meta.job &&
!other->meta.job->forced &&
- (other->meta.type == JOB_START ||
- other->meta.type == JOB_VERIFY_ACTIVE ||
- other->meta.type == JOB_RELOAD_OR_START))
+ (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);
} else if (t == JOB_STOP) {
SET_FOREACH(other, u->meta.dependencies[UNIT_CONFLICTS], i)
if (other->meta.job &&
- (t == JOB_START ||
- t == JOB_VERIFY_ACTIVE ||
- t == JOB_RELOAD_OR_START))
+ (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);
}
}