recursively kill jobs from transaction list

This commit is contained in:
Lennart Poettering 2010-01-20 19:20:15 +01:00
parent 16354eff99
commit 1e198baf11
1 changed files with 10 additions and 1 deletions

View File

@ -487,8 +487,17 @@ void manager_transaction_delete_job(Manager *m, Job *j) {
while (j->subject_list)
job_dependency_free(j->subject_list);
while (j->object_list)
while (j->object_list) {
Job *other = j->object_list->matters ? j->object_list->subject : NULL;
job_dependency_free(j->object_list);
if (other) {
log_debug("Deleting job %s, as dependency of job %s", name_id(j->name), name_id(other->name));
manager_transaction_delete_job(m, other);
}
}
}
static int transaction_add_job_and_dependencies(Manager *m, JobType type, Name *name, Job *by, bool matters, bool force, Job **_ret) {