serenity/Kernel/Tasks
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
..
AtomicEdgeAction.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Coredump.cpp LibC+LibELF: Move ELF definitions from LibC to LibELF 2023-06-27 12:40:38 +02:00
Coredump.h Kernel: Move task-crash related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
CrashHandler.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
FinalizerTask.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
FinalizerTask.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FutexQueue.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
FutexQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PerformanceEventBuffer.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
PerformanceEventBuffer.h Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PerformanceManager.h Kernel: Move Performance-measurement code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
PowerStateSwitchTask.cpp Kernel: Ensure only user processes are terminated properly in shutdown 2023-08-20 13:04:42 -06:00
PowerStateSwitchTask.h Kernel: Ensure only user processes are terminated properly in shutdown 2023-08-20 13:04:42 -06:00
Process.cpp Kernel: Allocate version string in the Process::initialize() method 2023-08-09 21:06:54 -06:00
Process.h Kernel+LibC: Pass 64-bit integers in syscalls by value 2023-08-12 01:14:26 +02:00
ProcessGroup.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ProcessGroup.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ProcessList.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Scheduler.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
Scheduler.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
SyncTask.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
SyncTask.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Thread.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
Thread.h Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
ThreadBlockers.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ThreadTracer.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
ThreadTracer.h Everywhere: Remove exceptions for using #include <LibC/...> 2023-06-27 12:40:38 +02:00
WaitQueue.cpp Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
WaitQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
WorkQueue.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
WorkQueue.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00