mirror of
https://github.com/RGBCube/serenity
synced 2025-05-22 19:05:07 +00:00
Kernel: Don't return -EFOO when return type is KResultOr<...>
This commit is contained in:
parent
2b269b27e7
commit
a166a65eff
5 changed files with 7 additions and 6 deletions
|
@ -155,8 +155,9 @@ KResultOr<size_t> FIFO::write(FileDescription&, size_t, const UserOrKernelBuffer
|
||||||
{
|
{
|
||||||
if (!m_readers) {
|
if (!m_readers) {
|
||||||
Thread::current()->send_signal(SIGPIPE, Process::current());
|
Thread::current()->send_signal(SIGPIPE, Process::current());
|
||||||
return -EPIPE;
|
return EPIPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_buffer.write(buffer, size);
|
return m_buffer.write(buffer, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ public:
|
||||||
virtual KResult truncate(u64) { return KSuccess; }
|
virtual KResult truncate(u64) { return KSuccess; }
|
||||||
virtual KResultOr<NonnullRefPtr<Custody>> resolve_as_link(Custody& base, RefPtr<Custody>* out_parent, int options, int symlink_recursion_level) const;
|
virtual KResultOr<NonnullRefPtr<Custody>> resolve_as_link(Custody& base, RefPtr<Custody>* out_parent, int options, int symlink_recursion_level) const;
|
||||||
|
|
||||||
virtual KResultOr<int> get_block_address(int) { return -ENOTSUP; }
|
virtual KResultOr<int> get_block_address(int) { return ENOTSUP; }
|
||||||
|
|
||||||
LocalSocket* socket() { return m_socket.ptr(); }
|
LocalSocket* socket() { return m_socket.ptr(); }
|
||||||
const LocalSocket* socket() const { return m_socket.ptr(); }
|
const LocalSocket* socket() const { return m_socket.ptr(); }
|
||||||
|
|
|
@ -254,7 +254,7 @@ KResultOr<size_t> Socket::read(FileDescription& description, size_t, UserOrKerne
|
||||||
KResultOr<size_t> Socket::write(FileDescription& description, size_t, const UserOrKernelBuffer& data, size_t size)
|
KResultOr<size_t> Socket::write(FileDescription& description, size_t, const UserOrKernelBuffer& data, size_t size)
|
||||||
{
|
{
|
||||||
if (is_shut_down_for_writing())
|
if (is_shut_down_for_writing())
|
||||||
return -EPIPE;
|
return EPIPE;
|
||||||
return sendto(description, data, size, 0, {}, 0);
|
return sendto(description, data, size, 0, {}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -131,12 +131,12 @@ KResultOr<FlatPtr> handle(RegisterState& regs, FlatPtr function, FlatPtr arg1, F
|
||||||
|
|
||||||
if (function >= Function::__Count) {
|
if (function >= Function::__Count) {
|
||||||
dbgln("Unknown syscall {} requested ({:08x}, {:08x}, {:08x})", function, arg1, arg2, arg3);
|
dbgln("Unknown syscall {} requested ({:08x}, {:08x}, {:08x})", function, arg1, arg2, arg3);
|
||||||
return -ENOSYS;
|
return ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s_syscall_table[function] == nullptr) {
|
if (s_syscall_table[function] == nullptr) {
|
||||||
dbgln("Null syscall {} requested, you probably need to rebuild this program!", function);
|
dbgln("Null syscall {} requested, you probably need to rebuild this program!", function);
|
||||||
return -ENOSYS;
|
return ENOSYS;
|
||||||
}
|
}
|
||||||
return (process.*(s_syscall_table[function]))(arg1, arg2, arg3);
|
return (process.*(s_syscall_table[function]))(arg1, arg2, arg3);
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@ KResultOr<int> Process::sys$clock_nanosleep(Userspace<const Syscall::SC_clock_na
|
||||||
|
|
||||||
Optional<Time> requested_sleep = copy_time_from_user(params.requested_sleep);
|
Optional<Time> requested_sleep = copy_time_from_user(params.requested_sleep);
|
||||||
if (!requested_sleep.has_value())
|
if (!requested_sleep.has_value())
|
||||||
return -EFAULT;
|
return EFAULT;
|
||||||
|
|
||||||
bool is_absolute;
|
bool is_absolute;
|
||||||
switch (params.flags) {
|
switch (params.flags) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue