From: Lennart Poettering Date: Wed, 12 May 2021 11:47:45 +0000 (+0200) Subject: terminal-util: use _cleanup_close_ where appropriate X-Git-Tag: v249-rc1~194^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4768529ff1eb41b011f2c8fcb36c5ae712371d0f;p=thirdparty%2Fsystemd.git terminal-util: use _cleanup_close_ where appropriate --- diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 9bc6bb2024f..1b3e551204e 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -316,14 +316,13 @@ int reset_terminal(const char *name) { } int open_terminal(const char *name, int mode) { + _cleanup_close_ int fd = -1; unsigned c = 0; - int fd; /* - * If a TTY is in the process of being closed opening it might - * cause EIO. This is horribly awful, but unlikely to be - * changed in the kernel. Hence we work around this problem by - * retrying a couple of times. + * If a TTY is in the process of being closed opening it might cause EIO. This is horribly awful, but + * unlikely to be changed in the kernel. Hence we work around this problem by retrying a couple of + * times. * * https://bugs.launchpad.net/ubuntu/+source/linux/+bug/554172/comments/245 */ @@ -343,16 +342,14 @@ int open_terminal(const char *name, int mode) { if (c >= 20) return -errno; - usleep(50 * USEC_PER_MSEC); + (void) usleep(50 * USEC_PER_MSEC); c++; } - if (isatty(fd) <= 0) { - safe_close(fd); - return -ENOTTY; - } + if (isatty(fd) < 1) + return negative_errno(); - return fd; + return TAKE_FD(fd); } int acquire_terminal(