1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00

Kernel: Ensure there are all VirtualConsoles properly initialized

It is possible to switch to VirtualConsoles 1 to 4 via the shortcut
ALT + [1-4]. Therefor the array of VirtualConsoles should be guaranteed
to be initialized.

Also add an constant for the maximum number of VirtualConsoles to
guarantee consistency.
This commit is contained in:
Florian Angermeier 2020-07-15 04:13:29 +02:00 committed by Andreas Kling
parent 971a42a816
commit d8fa8c5f82
3 changed files with 9 additions and 3 deletions

View file

@ -36,7 +36,7 @@
namespace Kernel {
static u8* s_vga_buffer;
static VirtualConsole* s_consoles[6];
static VirtualConsole* s_consoles[s_max_virtual_consoles];
static int s_active_console;
static RecursiveSpinLock s_lock;
@ -68,6 +68,8 @@ VirtualConsole::VirtualConsole(const unsigned index)
, m_index(index)
, m_terminal(*this)
{
ASSERT(index < s_max_virtual_consoles);
m_tty_name = String::format("/dev/tty%u", m_index);
m_terminal.set_size(80, 25);
@ -83,7 +85,7 @@ void VirtualConsole::switch_to(unsigned index)
{
if ((int)index == s_active_console)
return;
ASSERT(index < 6);
ASSERT(index < s_max_virtual_consoles);
ASSERT(s_consoles[index]);
ScopedSpinLock lock(s_lock);