From: Mike Yuan Date: Sun, 16 Nov 2025 14:59:28 +0000 (+0100) Subject: core/unit: no need to handle intermediate job types in unit_process_job() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7cb0030f6cec6c0a83c7c11ecc4adfb55aaf0e0b;p=thirdparty%2Fsystemd.git core/unit: no need to handle intermediate job types in unit_process_job() Installed jobs are always collapsed, i.e. can only be of types accepted by job_run_and_invalidate() modulo JOB_NOP which is stored in Unit.nop_job (if any). Let's trim the unreachable branches. --- diff --git a/src/core/unit.c b/src/core/unit.c index a85987c74bf..b6dc962f866 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -2610,6 +2610,7 @@ static bool unit_process_job(Job *j, UnitActiveState ns, bool reload_success) { JobResult result; assert(j); + assert(j->installed); if (j->state == JOB_WAITING) /* So we reached a different state for this job. Let's see if we can run it now if it failed previously @@ -2642,8 +2643,6 @@ static bool unit_process_job(Job *j, UnitActiveState ns, bool reload_success) { break; case JOB_RELOAD: - case JOB_RELOAD_OR_START: - case JOB_TRY_RELOAD: if (j->state == JOB_RUNNING) { if (ns == UNIT_ACTIVE) @@ -2660,7 +2659,6 @@ static bool unit_process_job(Job *j, UnitActiveState ns, bool reload_success) { case JOB_STOP: case JOB_RESTART: - case JOB_TRY_RESTART: if (UNIT_IS_INACTIVE_OR_FAILED(ns)) job_finish_and_invalidate(j, JOB_DONE, true, false);