From fec7615c079a5221ac4f9c9415bfccf8bde6edcf Mon Sep 17 00:00:00 2001 From: Alan Jenkins Date: Tue, 7 Nov 2017 16:14:15 +0000 Subject: [PATCH] core: simplify - don't add jobs to dbus queue if we immediately remove them (#7251) job_finish_and_invalidate() calls job_free() to destroy jobs (and remove them from the dbus queue). So we don't need to add them to the dbus queue first. We only want to add jobs to the dbus queue if they're a restart job, which we're transmogrifying into a start job and putting back into the system. --- src/core/job.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/core/job.c b/src/core/job.c index fb57f193fd4..d441453839c 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -868,14 +868,13 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive, bool alr if (!already) job_emit_status_message(u, t, result); - job_add_to_dbus_queue(j); - /* Patch restart jobs so that they become normal start jobs */ if (result == JOB_DONE && t == JOB_RESTART) { job_change_type(j, JOB_START); job_set_state(j, JOB_WAITING); + job_add_to_dbus_queue(j); job_add_to_run_queue(j); job_add_to_gc_queue(j); -- 2.47.3