mirror of
https://github.com/RGBCube/serenity
synced 2026-01-14 12:11:01 +00:00
Instead, hold the lock while we copy the contents to a stack-based Vector then iterate on it without any locking. Because we rely on heap allocations, we need to propagate errors back in case of OOM condition, therefore, both PCI::enumerate API function and PCI::Access::add_host_controller_and_enumerate_attached_devices use now a ErrorOr<void> return value to propagate errors. OOM Error can only occur when enumerating the m_device_identifiers vector under a spinlock and trying to expand the temporary Vector which will be used locklessly to actually iterate over the PCI::DeviceIdentifiers objects. |
||
|---|---|---|
| .. | ||
| Console.cpp | ||
| Console.h | ||
| ConsolePort.cpp | ||
| ConsolePort.h | ||
| Device.cpp | ||
| Device.h | ||
| Queue.cpp | ||
| Queue.h | ||
| RNG.cpp | ||
| RNG.h | ||