]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
transaction: don't cancel jobs for units with IgnoreOnIsolate=true (#3671)
authorMichael Olbrich <m.olbrich@pengutronix.de>
Mon, 25 Jul 2016 18:02:55 +0000 (20:02 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 25 Jul 2016 18:02:55 +0000 (20:02 +0200)
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'.

src/core/transaction.c

index af539171fd79ddee75388ab17602d3ceb1ead8e7..8370b864fb63f0182e6dd3621cc1194211451bad 100644 (file)
@@ -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;