From: Lennart Poettering Date: Tue, 24 Oct 2023 14:45:32 +0000 (+0200) Subject: execute: log about failures when opening a terminal to reset X-Git-Tag: v255-rc1~150 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=adabcbabffbfc1f96a5e170f4a1cdc357ea15285;p=thirdparty%2Fsystemd.git execute: log about failures when opening a terminal to reset --- diff --git a/src/core/execute.c b/src/core/execute.c index df4c213c6db..da416842cea 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -108,22 +108,24 @@ int exec_context_tty_size(const ExecContext *context, unsigned *ret_rows, unsign void exec_context_tty_reset(const ExecContext *context, const ExecParameters *p) { _cleanup_close_ int _fd = -EBADF, lock_fd = -EBADF; - const char *path = exec_context_tty_path(ASSERT_PTR(context)); int fd; + assert(context); + + const char *path = exec_context_tty_path(context); + if (p && p->stdin_fd >= 0) fd = p->stdin_fd; else if (path) { fd = _fd = open_terminal(path, O_RDWR|O_NOCTTY|O_CLOEXEC|O_NONBLOCK); if (fd < 0) - return; + return (void) log_debug_errno(fd, "Failed to open terminal '%s', ignoring: %m", path); } else return; /* nothing to do */ /* Take a synchronization lock for the duration of the setup that we do here. - * systemd-vconsole-setup.service also takes the lock to avoid being interrupted. - * We open a new fd that will be closed automatically, and operate on it for convenience. - */ + * systemd-vconsole-setup.service also takes the lock to avoid being interrupted. We open a new fd + * that will be closed automatically, and operate on it for convenience. */ lock_fd = lock_dev_console(); if (lock_fd < 0) return (void) log_debug_errno(lock_fd,