From: Mike Yuan Date: Fri, 16 Jan 2026 20:56:30 +0000 (+0100) Subject: core/varlink-manager: fix reload unit marker handling X-Git-Tag: v260-rc1~286^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=339fa01d21ce8c73c9e6abafbcdf9416d6e15598;p=thirdparty%2Fsystemd.git core/varlink-manager: fix reload unit marker handling If both restart and reload markers are set, the former takes precedence. --- diff --git a/src/core/varlink-manager.c b/src/core/varlink-manager.c index 8f09205ddd8..f1b6f8c0e64 100644 --- a/src/core/varlink-manager.c +++ b/src/core/varlink-manager.c @@ -309,13 +309,14 @@ static int varlink_manager_queue_job_one( Unit *u, JobType type, JobMode mode, + bool reload_if_possible, uint32_t *ret_job_id) { int r; assert(u); - r = unit_queue_job_check_and_mangle_type(u, &type, /* reload_if_possible= */ BIT_SET(u->markers, UNIT_MARKER_NEEDS_RELOAD)); + r = unit_queue_job_check_and_mangle_type(u, &type, reload_if_possible); if (r == -ENOENT) return varlink_error_no_such_unit(link, "name"); if (r == -ELIBEXEC) @@ -386,6 +387,7 @@ int vl_method_enqueue_marked_jobs_manager(sd_varlink *link, sd_json_variant *par u, JOB_TRY_RESTART, JOB_FAIL, + /* reload_if_possible= */ !BIT_SET(u->markers, UNIT_MARKER_NEEDS_RESTART), &job_id); if (ERRNO_IS_NEG_RESOURCE(r)) return r;