1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:07:47 +00:00

Kernel+LibC: Add sys$disown() for disowning child processes

This syscall allows a parent process to disown a child process, setting
its parent PID to 0.

Unparented processes are automatically reaped by the kernel upon exit,
and no sys$waitid() is required. This will make it much nicer to do
spawn-and-forget which is common in the GUI environment.
This commit is contained in:
Andreas Kling 2020-08-04 13:51:11 +02:00
parent 83a4fbf548
commit 7de831efc6
7 changed files with 79 additions and 1 deletions

View file

@ -30,6 +30,12 @@
extern "C" {
int disown(pid_t pid)
{
int rc = syscall(SC_disown, pid);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
int module_load(const char* path, size_t path_length)
{
int rc = syscall(SC_module_load, path, path_length);