mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
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.
This commit is contained in:
parent
fa38f371c8
commit
780afd18cd
1 changed files with 14 additions and 21 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue