From: Lennart Poettering Date: Thu, 7 Apr 2011 16:45:34 +0000 (+0200) Subject: manager: don't garbage collect jobs when isolating, to change global state X-Git-Tag: v25~83 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=a8049b7a7cad92982892ec258545e11fcdf5b9f5 manager: don't garbage collect jobs when isolating, to change global state --- diff --git a/src/manager.c b/src/manager.c index 9b561c4ce..0530729a6 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 ... */