From: Mike Yuan Date: Sun, 9 Nov 2025 19:14:01 +0000 (+0100) Subject: run: make sure we send out READY=1 when --wait X-Git-Tag: v259-rc1~110^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9876309cfe1de2cd85c02ca0b396a3e147b973ce;p=thirdparty%2Fsystemd.git run: make sure we send out READY=1 when --wait Let's skip bus_wait_for_jobs_one() when --wait as well, as it surpasses the start job and allows for run_context_check_started() to fire. --- diff --git a/src/run/run.c b/src/run/run.c index 47757d19d0d..96fa46bd3a5 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -2504,8 +2504,9 @@ static int start_transient_service(sd_bus *bus) { /* Optionally, wait for the start job to complete. If we are supposed to read the service's stdin * lets skip this however, because we should start that already when the start job is running, and * there's little point in waiting for the start job to complete in that case anyway, as we'll wait - * for EOF anyway, which is going to be much later. */ - if (!arg_no_block && arg_stdio == ARG_STDIO_NONE) { + * for EOF anyway, which is going to be much later. Similar applies to --wait where we're going + * to wait for the service to terminate. */ + if (!arg_no_block && !arg_wait && arg_stdio == ARG_STDIO_NONE) { r = bus_wait_for_jobs_new(bus, &w); if (r < 0) return log_error_errno(r, "Could not watch jobs: %m");