summaryrefslogtreecommitdiff
path: root/src/core/manager.c
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2012-04-24 11:21:03 +0200
committerMichal Schmidt <mschmidt@redhat.com>2012-04-23 08:13:02 +0200
commit5273510e9f228a300ec6207d4502f1c6253aed5e (patch)
tree4900160e4f48db419d8346424da1a0b7b09a777a /src/core/manager.c
parent39a18c60d07319ebfcfd476556729c2cadd616d6 (diff)
transaction: cancel jobs non-recursively on isolate
Recursive cancellation of jobs would trigger OnFailure actions of dependent jobs. This is not desirable when isolating. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=798328
Diffstat (limited to 'src/core/manager.c')
-rw-r--r--src/core/manager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/manager.c b/src/core/manager.c
index 636aaa364b..f7ccba6235 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -871,7 +871,8 @@ void manager_clear_jobs(Manager *m) {
assert(m);
while ((j = hashmap_first(m->jobs)))
- job_finish_and_invalidate(j, JOB_CANCELED);
+ /* No need to recurse. We're cancelling all jobs. */
+ job_finish_and_invalidate(j, JOB_CANCELED, false);
}
unsigned manager_dispatch_run_queue(Manager *m) {