diff options
-rw-r--r-- | libexec/getty/main.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libexec/getty/main.c b/libexec/getty/main.c index 68adab9..d812561 100644 --- a/libexec/getty/main.c +++ b/libexec/getty/main.c @@ -444,7 +444,18 @@ opentty(const char *ttyn, int flags) return 0; } else { - login_tty(i); + 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", ttyn); + close(i); + return 0; + } + } return 1; } } |