summaryrefslogtreecommitdiff
path: root/src/manager.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-04-07 18:45:34 +0200
committerLennart Poettering <lennart@poettering.net>2011-04-07 18:45:34 +0200
commita8049b7a7cad92982892ec258545e11fcdf5b9f5 (patch)
treeccee82b102c1952ef7e3ea8fbcf8af80368e3c78 /src/manager.c
parent222ae6a8d7e27dd36552cb9574e63cbdfdf2d264 (diff)
manager: don't garbage collect jobs when isolating, to change global state
Diffstat (limited to 'src/manager.c')
-rw-r--r--src/manager.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/manager.c b/src/manager.c
index 9b561c4cee..0530729a63 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -1273,7 +1273,8 @@ static int transaction_activate(Manager *m, JobMode mode, DBusError *e) {
for (;;) {
/* Fourth step: Let's remove unneeded jobs that might
* be lurking. */
- transaction_collect_garbage(m);
+ if (mode != JOB_ISOLATE)
+ transaction_collect_garbage(m);
/* Fifth step: verify order makes sense and correct
* cycles if necessary and possible */
@@ -1303,7 +1304,8 @@ static int transaction_activate(Manager *m, JobMode mode, DBusError *e) {
/* Seventh step: an entry got dropped, let's garbage
* collect its dependencies. */
- transaction_collect_garbage(m);
+ if (mode != JOB_ISOLATE)
+ transaction_collect_garbage(m);
/* Let's see if the resulting transaction still has
* unmergeable entries ... */