From 780afd18cdd1370292c5cfb89adece3599f6eb96 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Wed, 29 Sep 2004 20:55:14 +0000 Subject: [PATCH] Report once that the device isn't there, but keep trying. Don't filter the errno values. They don't make as much sense as they used to given how we do devices in /dev. --- libexec/getty/main.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/libexec/getty/main.c b/libexec/getty/main.c index 1555ae4efb43..ceea00966564 100644 --- a/libexec/getty/main.c +++ b/libexec/getty/main.c @@ -427,37 +427,30 @@ main(int argc, char *argv[]) static int opentty(const char *tty, int flags) { - int i, j = 0; + int i; int failopenlogged = 0; - while (j < 10 && (i = open(tty, flags)) == -1) + while ((i = open(tty, flags)) == -1) { - if (((j % 10) == 0) && (errno != ENXIO || !failopenlogged)) { + if (!failopenlogged) { syslog(LOG_ERR, "open %s: %m", tty); failopenlogged = 1; } - j++; sleep(60); } - if (i == -1) { - syslog(LOG_ERR, "open %s: %m", tty); - return 0; - } - else { - if (login_tty(i) < 0) { - if (daemon(0,0) < 0) { - syslog(LOG_ERR,"daemon: %m"); - close(i); - return 0; - } - if (login_tty(i) < 0) { - syslog(LOG_ERR, "login_tty %s: %m", tty); - close(i); - return 0; - } + if (login_tty(i) < 0) { + if (daemon(0,0) < 0) { + syslog(LOG_ERR,"daemon: %m"); + close(i); + return 0; + } + if (login_tty(i) < 0) { + syslog(LOG_ERR, "login_tty %s: %m", tty); + close(i); + return 0; } - return 1; } + return 1; } static void