Kernel/LibC: Add {get,set}pgrp()
This commit is contained in:
@@ -79,6 +79,7 @@ namespace Kernel
|
||||
BAN::ErrorOr<long> sys_setegid(gid_t);
|
||||
BAN::ErrorOr<long> sys_setreuid(uid_t, uid_t);
|
||||
BAN::ErrorOr<long> sys_setregid(gid_t, gid_t);
|
||||
BAN::ErrorOr<long> sys_setpgrp();
|
||||
|
||||
BAN::ErrorOr<long> sys_getuid() const { return m_credentials.ruid(); }
|
||||
BAN::ErrorOr<long> sys_getgid() const { return m_credentials.rgid(); }
|
||||
|
||||
@@ -1137,6 +1137,13 @@ namespace Kernel
|
||||
return 0;
|
||||
}
|
||||
|
||||
BAN::ErrorOr<long> Process::sys_setpgrp()
|
||||
{
|
||||
LockGuard _(m_lock);
|
||||
m_pgrp = pid();
|
||||
return pgrp();
|
||||
}
|
||||
|
||||
BAN::ErrorOr<BAN::String> Process::absolute_path_of(BAN::StringView path) const
|
||||
{
|
||||
ASSERT(m_lock.is_locked());
|
||||
|
||||
@@ -173,6 +173,12 @@ namespace Kernel
|
||||
case SYS_GET_PID:
|
||||
ret = Process::current().pid();
|
||||
break;
|
||||
case SYS_GET_PGRP:
|
||||
ret = Process::current().pgrp();
|
||||
break;
|
||||
case SYS_SET_PGRP:
|
||||
ret = Process::current().sys_setpgrp();
|
||||
break;
|
||||
default:
|
||||
dwarnln("Unknown syscall {}", syscall);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user