X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjob.c;h=8ab12cd62410eb3287e4a6c052915108b79fa604;hp=8a74f8b614237d2c8d44f58a1ea37f40cd3eeb53;hb=6d3d218b35cad449406e65d7aec5fae1ba19cf5e;hpb=ead8e4788ee31bbdc38b4cd3c6e71c8a95bbc95a diff --git a/src/job.c b/src/job.c index 8a74f8b61..8ab12cd62 100644 --- a/src/job.c +++ b/src/job.c @@ -506,6 +506,13 @@ int job_finish_and_invalidate(Job *j, bool success) { other->meta.job->type == JOB_RELOAD_OR_START)) job_finish_and_invalidate(other->meta.job, false); + SET_FOREACH(other, u->meta.dependencies[UNIT_BOUND_BY], i) + if (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 && !other->meta.job->override &&