]> err.no Git - systemd/commitdiff
manager: don't garbage collect jobs when isolating, to change global state
authorLennart Poettering <lennart@poettering.net>
Thu, 7 Apr 2011 16:45:34 +0000 (18:45 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 7 Apr 2011 16:45:34 +0000 (18:45 +0200)
src/manager.c

index 9b561c4ceeaa45937c45e6931338f0e80c3cc108..0530729a6347a138e727ca1c52001028164a600b 100644 (file)
@@ -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 ... */