From 2fb10b3cfbfd4e9cc8de5f8dc90a6e7a83470561 Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Mon, 17 Mar 2025 00:21:46 +0100 Subject: [PATCH] run: refuse --pty-late for Type=oneshot services Such combination makes no sense, as by the time the start job of the oneshot service finishes the main process has already exited. Addresses https://github.com/systemd/systemd/pull/36691#discussion_r1988116881 --- src/run/run.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/run/run.c b/src/run/run.c index 182925aff0b..523993cffdb 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -775,6 +775,10 @@ static int parse_argv(int argc, char *argv[]) { "--pty/--pty-late/--pipe is not compatible with --no-block."); } + if (arg_stdio == ARG_STDIO_PTY && arg_pty_late && streq_ptr(arg_service_type, "oneshot")) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "--pty-late is not compatible with --service-type=oneshot."); + if (arg_scope && with_trigger) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Path, socket or timer options are not supported in --scope mode."); -- 2.47.3