mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 20:27:46 +00:00
Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T>
We now use AK::Error and AK::ErrorOr<T> in both kernel and userspace! This was a slightly tedious refactoring that took a long time, so it's not unlikely that some bugs crept in. Nevertheless, it does pass basic functionality testing, and it's just real nice to finally see the same pattern in all contexts. :^)
This commit is contained in:
parent
7ee10c6926
commit
79fa9765ca
262 changed files with 2415 additions and 2600 deletions
|
@ -90,7 +90,7 @@ bool ConsolePort::can_read(const OpenFileDescription&, size_t) const
|
|||
return m_receive_buffer->used_bytes() > 0;
|
||||
}
|
||||
|
||||
KResultOr<size_t> ConsolePort::read(OpenFileDescription& desc, u64, UserOrKernelBuffer& buffer, size_t size)
|
||||
ErrorOr<size_t> ConsolePort::read(OpenFileDescription& desc, u64, UserOrKernelBuffer& buffer, size_t size)
|
||||
{
|
||||
if (!size)
|
||||
return 0;
|
||||
|
@ -100,10 +100,7 @@ KResultOr<size_t> ConsolePort::read(OpenFileDescription& desc, u64, UserOrKernel
|
|||
if (!can_read(desc, size))
|
||||
return EAGAIN;
|
||||
|
||||
auto bytes_copied_or_error = m_receive_buffer->copy_data_out(size, buffer);
|
||||
if (bytes_copied_or_error.is_error())
|
||||
return bytes_copied_or_error.error();
|
||||
auto bytes_copied = bytes_copied_or_error.release_value();
|
||||
auto bytes_copied = TRY(m_receive_buffer->copy_data_out(size, buffer));
|
||||
m_receive_buffer->reclaim_space(m_receive_buffer->start_of_used(), bytes_copied);
|
||||
|
||||
if (m_receive_buffer_exhausted && m_receive_buffer->used_bytes() == 0) {
|
||||
|
@ -123,7 +120,7 @@ bool ConsolePort::can_write(const OpenFileDescription&, size_t) const
|
|||
return m_console.get_queue(m_transmit_queue).has_free_slots() && m_transmit_buffer->has_space();
|
||||
}
|
||||
|
||||
KResultOr<size_t> ConsolePort::write(OpenFileDescription& desc, u64, const UserOrKernelBuffer& data, size_t size)
|
||||
ErrorOr<size_t> ConsolePort::write(OpenFileDescription& desc, u64, const UserOrKernelBuffer& data, size_t size)
|
||||
{
|
||||
if (!size)
|
||||
return 0;
|
||||
|
@ -157,7 +154,7 @@ KResultOr<size_t> ConsolePort::write(OpenFileDescription& desc, u64, const UserO
|
|||
return total_bytes_copied;
|
||||
}
|
||||
|
||||
KResultOr<NonnullRefPtr<OpenFileDescription>> ConsolePort::open(int options)
|
||||
ErrorOr<NonnullRefPtr<OpenFileDescription>> ConsolePort::open(int options)
|
||||
{
|
||||
if (!m_open)
|
||||
m_console.send_open_control_message(m_port, true);
|
||||
|
|
|
@ -38,10 +38,10 @@ private:
|
|||
virtual StringView class_name() const override { return "VirtIOConsolePort"sv; }
|
||||
|
||||
virtual bool can_read(const OpenFileDescription&, size_t) const override;
|
||||
virtual KResultOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
|
||||
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
|
||||
virtual bool can_write(const OpenFileDescription&, size_t) const override;
|
||||
virtual KResultOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
|
||||
virtual KResultOr<NonnullRefPtr<OpenFileDescription>> open(int options) override;
|
||||
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
|
||||
virtual ErrorOr<NonnullRefPtr<OpenFileDescription>> open(int options) override;
|
||||
|
||||
static unsigned next_device_id;
|
||||
u16 m_receive_queue {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue