ladybird/Kernel
Liav A a43133b3c7 Kernel: Hold a weak reference to a Process object in AsyncDeviceRequest
The process could be long gone by the point the async IO request has
completed so hold a weak reference pointer to the requesting Process and
try get a strong reference only when needed.

This patch is necessary because otherwise async IO requests can hold
Process objects long after they were terminated, which would make it
impossible to perform certain tasks in the system, like killing all user
processes during the shutdown procedure.
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+LibC: Pass 64-bit integers in syscalls by value 2023-08-12 01:14:26 +02:00
Tasks Kernel+LibC: Pass 64-bit integers in syscalls by value 2023-08-12 01:14:26 +02: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 Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
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 Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
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 Kernel: Add support for SA_SIGINFO 2022-03-04 20:07:05 +01:00