mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 02:12:09 -05:00
3fb289e27d
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. |
||
---|---|---|
.. | ||
ATA | ||
NVMe | ||
Partition | ||
RamdiskController.cpp | ||
RamdiskController.h | ||
RamdiskDevice.cpp | ||
RamdiskDevice.h | ||
StorageController.h | ||
StorageDevice.cpp | ||
StorageDevice.h | ||
StorageManagement.cpp | ||
StorageManagement.h |