diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2016-07-25 20:02:55 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-07-25 20:02:55 +0200 |
commit | 2de0b9e913823d6e564ea82d80d014451c238f20 (patch) | |
tree | f4e835025b4027b2ed3675fbe71d6a8833217825 /src/core | |
parent | c8091d92d5258afee017506ebac086da2f99ee91 (diff) |
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'.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/transaction.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/transaction.c b/src/core/transaction.c index af539171fd..8370b864fb 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; |