summaryrefslogtreecommitdiff
path: root/src/core/transaction.c
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2016-07-25 20:02:55 +0200
committerLennart Poettering <lennart@poettering.net>2016-07-25 20:02:55 +0200
commit2de0b9e913823d6e564ea82d80d014451c238f20 (patch)
treef4e835025b4027b2ed3675fbe71d6a8833217825 /src/core/transaction.c
parentc8091d92d5258afee017506ebac086da2f99ee91 (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/transaction.c')
-rw-r--r--src/core/transaction.c3
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;