From: Yu Watanabe Date: Tue, 3 Dec 2024 09:50:25 +0000 (+0900) Subject: exec-util: drop handling of ENXIO in opening /dev/tty X-Git-Tag: v258-rc1~1890^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90579fd0b31b489988b9414fd15a883fb89bea00;p=thirdparty%2Fsystemd.git exec-util: drop handling of ENXIO in opening /dev/tty This effectively reverts 0bcf1679007e71d1d37666c10ab1f8d46de8d570. The handling is not necessary anymore after 61242b1f0f9cac399deb67c88c3b62d38218dba3. --- diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index e044cea3300..725962ef83c 100644 --- a/src/shared/exec-util.c +++ b/src/shared/exec-util.c @@ -596,32 +596,26 @@ int _fork_agent(const char *name, const int except[], size_t n_except, pid_t *re * stdin around. */ fd = open("/dev/tty", stdin_is_tty ? O_WRONLY : (stdout_is_tty && stderr_is_tty) ? O_RDONLY : O_RDWR); if (fd < 0) { - if (errno != ENXIO) { - log_error_errno(errno, "Failed to open /dev/tty: %m"); - _exit(EXIT_FAILURE); - } - - /* If we get ENXIO here we have no controlling TTY even though stdout/stderr are - * connected to a TTY. That's a weird setup, but let's handle it gracefully: let's - * skip the forking of the agents, given the TTY setup is not in order. */ - } else { - if (!stdin_is_tty && dup2(fd, STDIN_FILENO) < 0) { - log_error_errno(errno, "Failed to dup2 /dev/tty to STDIN: %m"); - _exit(EXIT_FAILURE); - } + log_error_errno(errno, "Failed to open /dev/tty: %m"); + _exit(EXIT_FAILURE); + } - if (!stdout_is_tty && dup2(fd, STDOUT_FILENO) < 0) { - log_error_errno(errno, "Failed to dup2 /dev/tty to STDOUT: %m"); - _exit(EXIT_FAILURE); - } + if (!stdin_is_tty && dup2(fd, STDIN_FILENO) < 0) { + log_error_errno(errno, "Failed to dup2 /dev/tty to STDIN: %m"); + _exit(EXIT_FAILURE); + } - if (!stderr_is_tty && dup2(fd, STDERR_FILENO) < 0) { - log_error_errno(errno, "Failed to dup2 /dev/tty to STDERR: %m"); - _exit(EXIT_FAILURE); - } + if (!stdout_is_tty && dup2(fd, STDOUT_FILENO) < 0) { + log_error_errno(errno, "Failed to dup2 /dev/tty to STDOUT: %m"); + _exit(EXIT_FAILURE); + } - fd = safe_close_above_stdio(fd); + if (!stderr_is_tty && dup2(fd, STDERR_FILENO) < 0) { + log_error_errno(errno, "Failed to dup2 /dev/tty to STDERR: %m"); + _exit(EXIT_FAILURE); } + + fd = safe_close_above_stdio(fd); } /* Count arguments */