From: Michael Olbrich Date: Mon, 25 Jul 2016 18:02:55 +0000 (+0200) Subject: transaction: don't cancel jobs for units with IgnoreOnIsolate=true (#3671) X-Git-Tag: v231~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2de0b9e913823d6e564ea82d80d014451c238f20;p=thirdparty%2Fsystemd.git transaction: don't cancel jobs for units with IgnoreOnIsolate=true (#3671) This is important if a job was queued for a unit but not yet started. Without this, the job will be canceled and is never executed even though IgnoreOnIsolate it set to 'true'. --- diff --git a/src/core/transaction.c b/src/core/transaction.c index af539171fd7..8370b864fb6 100644 --- a/src/core/transaction.c +++ b/src/core/transaction.c @@ -591,6 +591,9 @@ static int transaction_apply(Transaction *tr, Manager *m, JobMode mode) { HASHMAP_FOREACH(j, m->jobs, i) { assert(j->installed); + if (j->unit->ignore_on_isolate) + continue; + if (hashmap_get(tr->jobs, j->unit)) continue;