From e1f9385d4bb3eb22e2342f291f5ae75946d5a5cf Mon Sep 17 00:00:00 2001 From: imp Date: Wed, 29 Sep 2004 20:55:14 +0000 Subject: 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(-) (limited to 'libexec') diff --git a/libexec/getty/main.c b/libexec/getty/main.c index 1555ae4..ceea009 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 -- cgit v1.1