mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-04 07:09:41 +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. |
||
---|---|---|
.. | ||
UHCI | ||
PacketTypes.h | ||
SysFSUSB.cpp | ||
SysFSUSB.h | ||
USBClasses.h | ||
USBConstants.h | ||
USBController.cpp | ||
USBController.h | ||
USBDescriptors.h | ||
USBDevice.cpp | ||
USBDevice.h | ||
USBEndpoint.h | ||
USBHub.cpp | ||
USBHub.h | ||
USBManagement.cpp | ||
USBManagement.h | ||
USBPipe.cpp | ||
USBPipe.h | ||
USBRequest.h | ||
USBTransfer.cpp | ||
USBTransfer.h |