serenity/Kernel/TTY
Liav A aee4786d8e Kernel: Introduce the DeviceManagement singleton
This singleton simplifies many aspects that we struggled with before:
1. There's no need to make derived classes of Device expose the
constructor as public anymore. The singleton is a friend of them, so he
can call the constructor. This solves the issue with try_create_device
helper neatly, hopefully for good.
2. Getting a reference of the NullDevice is now being done from this
singleton, which means that NullDevice no longer needs to use its own
singleton, and we can apply the try_create_device helper on it too :)
3. We can now defer registration completely after the Device constructor
which means the Device constructor is merely assigning the major and
minor numbers of the Device, and the try_create_device helper ensures it
calls the after_inserting method immediately after construction. This
creates a great opportunity to make registration more OOM-safe.
2021-09-17 01:02:48 +03:00
..
ConsoleManagement.cpp Kernel: Rename ScopedSpinlock => SpinlockLocker 2021-08-22 03:34:10 +02:00
ConsoleManagement.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
MasterPTY.cpp Kernel/Devices: Defer creation of SysFS component after the constructor 2021-09-11 11:41:14 +02:00
MasterPTY.h Kernel/Devices: Remove required_mode and device_name methods 2021-09-08 00:42:20 +02:00
PTYMultiplexer.cpp Kernel/Devices: Defer creation of SysFS component after the constructor 2021-09-11 11:41:14 +02:00
PTYMultiplexer.h Kernel/Devices: Defer creation of SysFS component after the constructor 2021-09-11 11:41:14 +02:00
SlavePTY.cpp Kernel/Devices: Defer creation of SysFS component after the constructor 2021-09-11 11:41:14 +02:00
SlavePTY.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
TTY.cpp Kernel: Rename FileDescription => OpenFileDescription 2021-09-07 13:53:14 +02:00
TTY.h Kernel/Devices: Remove required_mode and device_name methods 2021-09-08 00:42:20 +02:00
VirtualConsole.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
VirtualConsole.h Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00