serenity/Kernel
Liav A b81b2c3fe7 Kernel: Ensure only user processes are terminated properly in shutdown
This patch ensures that the shutdown procedure can complete due to the
fact we don't kill kernel processes anymore, and only stop the scheduler
from running after the filesystems unmount procedure.

We also need kernel processes during the shutdown procedure, because we
rely on the WorkQueue threads to run WorkQueue items to complete async
IO requests initiated by filesystem sync & unmounting, etc.

This is also simplifying the code around the killing processes, because
we don't need to worry about edge cases such as the FinalizerTask
anymore.
2023-08-20 13:04:42 -06:00
..
API Kernel: Alias MAXNAMLEN to NAME_MAX 2023-08-18 11:43:19 +02:00
Arch Toolchain: Add (basic) support for riscv64 2023-08-11 09:20:08 +02:00
Boot Kernel: Move all boot-related code to the new Boot subdirectory 2023-06-04 21:32:34 +02:00
Bus Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
Devices Kernel: Hold a weak reference to a Process object in AsyncDeviceRequest 2023-08-20 13:04:42 -06:00
FileSystem Kernel/FileSystem: Remove disk cache only after ext2 superblock flush 2023-08-20 13:04:42 -06:00
Firmware/ACPI Kernel: Overhaul system shutdown procedure 2023-07-15 00:12:01 +02:00
Heap Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Interrupts Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Library AK+Kernel: Add the FixedStringBuffer class and StdLib functions for it 2023-08-09 21:06:54 -06:00
Locking Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Memory Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
Net Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
Prekernel Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
Security Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Syscalls Kernel: Reject all syscalls during the shutdown procedure 2023-08-20 13:04:42 -06:00
Tasks Kernel: Ensure only user processes are terminated properly in shutdown 2023-08-20 13:04:42 -06:00
Time Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
TTY Kernel: Move all Graphics-related code into Devices/GPU directory 2023-06-06 00:40:32 +02:00
CMakeLists.txt Everywhere: Add RISC-V 64 target to the build system 2023-08-18 08:37:43 -06:00
Debug.h.in Kernel: Put loopback adapter debug spam behind a flag 2023-06-18 08:50:33 +01:00
embedmap.sh
Forward.h Kernel+LibCore+LibC: Split the mount syscall into multiple syscalls 2023-07-02 01:04:51 +02:00
generate-version-file.sh Kernel: Bake version information into the Kernel 2022-10-14 13:45:33 +02:00
kprintf.cpp Kernel: Move all Graphics-related code into Devices/GPU directory 2023-06-06 00:40:32 +02:00
kstdio.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KSyms.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
KSyms.h Kernel: Add ability to dump backtrace from provided frame pointer 2022-10-01 14:09:01 +02:00
mkmap.sh
SanCov.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Sections.h Kernel: Move all boot-related code to the new Boot subdirectory 2023-06-04 21:32:34 +02:00
UnixTypes.h