serenity/Kernel/Devices
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
..
Audio Kernel: Decouple Intel HDA interrupt handling from controller 2023-07-04 16:24:04 +02:00
Generic Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
GPU Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
HID Kernel: Change the code point of numpad keys to 0, when Num Lock is off 2023-08-20 12:21:57 -06:00
Storage NVMe: Add shadow doorbell support 2023-08-18 15:47:51 +02:00
AsyncDeviceRequest.cpp
AsyncDeviceRequest.h Kernel: Hold a weak reference to a Process object in AsyncDeviceRequest 2023-08-20 13:04:42 -06:00
BlockDevice.cpp
BlockDevice.h
CharacterDevice.cpp
CharacterDevice.h
Device.cpp
Device.h
DeviceManagement.cpp
DeviceManagement.h
KCOVDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
KCOVDevice.h
KCOVInstance.cpp
KCOVInstance.h
PCISerialDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
PCISerialDevice.h Kernel: Add PCISerialDevice WCH CH351 IDs 2023-08-12 13:08:07 +02:00
SerialDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
SerialDevice.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00