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) {