From 4768529ff1eb41b011f2c8fcb36c5ae712371d0f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 12 May 2021 13:47:45 +0200 Subject: [PATCH] terminal-util: use _cleanup_close_ where appropriate --- src/basic/terminal-util.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 9bc6bb2024..1b3e551204 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(