mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-12 08:58:20 +03:00
vconsole-setup: use a consistent log level when setfont fails with EX_OSERR
Since we accept that setfont(8) can fail with EX_OSERR and we dont treat it as an error, dont log this failure at LOG_ERR. Before: ------- /usr/bin/setfont failed with exit status 71. [LOG_ERR] Setting fonts failed with a "system error", ignoring. [LOG_NOTICE] After: ----- /usr/bin/setfont failed with a "system error" (EX_OSERR), ignoring. [LOG_NOTICE] Setting source virtual console failed, ignoring remaining ones [LOG_NOTICE] Follow-up for 93c9a9d235e2304500c490b4868534385f925c76
This commit is contained in:
parent
24baee3370
commit
2f26c21171
@ -361,7 +361,16 @@ static int font_load_and_wait(const char *vc, Context *c) {
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
return wait_for_terminate_and_check(KBD_SETFONT, pid, WAIT_LOG);
|
||||
/* setfont returns EX_OSERR when ioctl(KDFONTOP/PIO_FONTX/PIO_FONTX) fails. This might mean various
|
||||
* things, but in particular lack of a graphical console. Let's be generous and not treat this as an
|
||||
* error. */
|
||||
r = wait_for_terminate_and_check(KBD_SETFONT, pid, WAIT_LOG_ABNORMAL);
|
||||
if (r == EX_OSERR)
|
||||
log_notice(KBD_SETFONT " failed with a \"system error\" (EX_OSERR), ignoring.");
|
||||
else if (r >= 0 && r != EXIT_SUCCESS)
|
||||
log_error(KBD_SETFONT " failed with exit status %i.", r);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -615,13 +624,9 @@ static int run(int argc, char **argv) {
|
||||
if (idx > 0) {
|
||||
if (r == 0)
|
||||
setup_remaining_vcs(fd, idx, utf8);
|
||||
else if (r == EX_OSERR)
|
||||
/* setfont returns EX_OSERR when ioctl(KDFONTOP/PIO_FONTX/PIO_FONTX) fails.
|
||||
* This might mean various things, but in particular lack of a graphical
|
||||
* console. Let's be generous and not treat this as an error. */
|
||||
log_notice("Setting fonts failed with a \"system error\", ignoring.");
|
||||
else
|
||||
log_warning("Setting source virtual console failed, ignoring remaining ones");
|
||||
log_full(r == EX_OSERR ? LOG_NOTICE : LOG_WARNING,
|
||||
"Setting source virtual console failed, ignoring remaining ones.");
|
||||
}
|
||||
|
||||
return IN_SET(r, 0, EX_OSERR) && keyboard_ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user