1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00

Kernel: Add OpenFileDescriptions::try_enumerate for fallible iteration

This API will allow users to short circuit iteration and properly
propagate errors.
This commit is contained in:
Idan Horowitz 2022-02-24 20:02:13 +02:00 committed by Andreas Kling
parent aca6c0c031
commit 064b93c2ad
2 changed files with 9 additions and 0 deletions

View file

@ -446,6 +446,14 @@ void Process::OpenFileDescriptions::enumerate(Function<void(const OpenFileDescri
}
}
ErrorOr<void> Process::OpenFileDescriptions::try_enumerate(Function<ErrorOr<void>(const OpenFileDescriptionAndFlags&)> callback) const
{
for (auto const& file_description_metadata : m_fds_metadatas) {
TRY(callback(file_description_metadata));
}
return {};
}
void Process::OpenFileDescriptions::change_each(Function<void(OpenFileDescriptionAndFlags&)> callback)
{
for (auto& file_description_metadata : m_fds_metadatas) {