After actually reading what Mika had said about the bug still affecting
upstream, I have identified another error message that should probably
not cause agetty to abort:
/dev/ttyS2: cannot set process group: Inappropriate ioctl for device
(Unless these errors are all symptoms of another problem, that is.)
I have briefly verified that agetty no longer exits and executes login.
This was on grml64-full 2012.05 using a machine with IPMI serial console
emulation.
Cheers,
-Hilko
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
index b068164..b0a1f45 100644
--- a/term-utils/agetty.c
+++ b/term-utils/agetty.c
@@ -919,7 +919,7 @@ static void open_tty(char *tty, struct termios *tp, struct options *op)
if (((tid = tcgetsid(fd)) < 0) || (pid != tid)) {
if (ioctl(fd, TIOCSCTTY, 1) == -1)
- log_err("/dev/%s: cannot get controlling tty: %m", tty);
+ log_warn("/dev/%s: cannot get controlling tty: %m", tty);
}
if (op->flags & F_HANGUP) {
@@ -944,7 +944,7 @@ static void open_tty(char *tty, struct termios *tp, struct options *op)
log_err(_("/dev/%s: cannot open as standard input: %m"), tty);
if (((tid = tcgetsid(STDIN_FILENO)) < 0) || (pid != tid)) {
if (ioctl(STDIN_FILENO, TIOCSCTTY, 1) == -1)
- log_err("/dev/%s: cannot get controlling tty: %m", tty);
+ log_warn("/dev/%s: cannot get controlling tty: %m", tty);
}
} else {
@@ -960,7 +960,7 @@ static void open_tty(char *tty, struct termios *tp, struct options *op)
}
if (tcsetpgrp(STDIN_FILENO, pid))
- log_err("/dev/%s: cannot set process group: %m", tty);
+ log_warn("/dev/%s: cannot set process group: %m", tty);
/* Get rid of the present outputs. */
close(STDOUT_FILENO);