mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:48:10 +00:00
Kernel: Make all syscall functions return KResultOr<T>
This makes it a lot easier to return errors since we no longer have to worry about negating EFOO errors and can just return them flat.
This commit is contained in:
parent
9af1e1a3bf
commit
ac71775de5
70 changed files with 747 additions and 742 deletions
|
@ -117,7 +117,7 @@ KResult Process::do_killself(int signal)
|
|||
return KSuccess;
|
||||
}
|
||||
|
||||
int Process::sys$kill(pid_t pid_or_pgid, int signal)
|
||||
KResultOr<int> Process::sys$kill(pid_t pid_or_pgid, int signal)
|
||||
{
|
||||
if (pid_or_pgid == m_pid.value())
|
||||
REQUIRE_PROMISE(stdio);
|
||||
|
@ -125,10 +125,10 @@ int Process::sys$kill(pid_t pid_or_pgid, int signal)
|
|||
REQUIRE_PROMISE(proc);
|
||||
|
||||
if (signal < 0 || signal >= 32)
|
||||
return -EINVAL;
|
||||
return EINVAL;
|
||||
if (pid_or_pgid < -1) {
|
||||
if (pid_or_pgid == NumericLimits<i32>::min())
|
||||
return -EINVAL;
|
||||
return EINVAL;
|
||||
return do_killpg(-pid_or_pgid, signal);
|
||||
}
|
||||
if (pid_or_pgid == -1)
|
||||
|
@ -140,17 +140,17 @@ int Process::sys$kill(pid_t pid_or_pgid, int signal)
|
|||
ScopedSpinLock lock(g_processes_lock);
|
||||
auto peer = Process::from_pid(pid_or_pgid);
|
||||
if (!peer)
|
||||
return -ESRCH;
|
||||
return ESRCH;
|
||||
return do_kill(*peer, signal);
|
||||
}
|
||||
|
||||
int Process::sys$killpg(pid_t pgrp, int signum)
|
||||
KResultOr<int> Process::sys$killpg(pid_t pgrp, int signum)
|
||||
{
|
||||
REQUIRE_PROMISE(proc);
|
||||
if (signum < 1 || signum >= 32)
|
||||
return -EINVAL;
|
||||
return EINVAL;
|
||||
if (pgrp < 0)
|
||||
return -EINVAL;
|
||||
return EINVAL;
|
||||
|
||||
return do_killpg(pgrp, signum);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue