From ccb83744342956f8900395fd3aca99a8a003da95 Mon Sep 17 00:00:00 2001 From: Maciej Date: Wed, 29 Dec 2021 16:22:22 +0100 Subject: [PATCH] LibCore: Add Core::System wrapper for disown() --- Userland/Libraries/LibCore/System.cpp | 10 ++++++++++ Userland/Libraries/LibCore/System.h | 1 + 2 files changed, 11 insertions(+) diff --git a/Userland/Libraries/LibCore/System.cpp b/Userland/Libraries/LibCore/System.cpp index 46766b0c90..d360c4d4f5 100644 --- a/Userland/Libraries/LibCore/System.cpp +++ b/Userland/Libraries/LibCore/System.cpp @@ -20,6 +20,10 @@ #include #include +#ifdef __serenity__ +# include +#endif + #define HANDLE_SYSCALL_RETURN_VALUE(syscall_name, rc, success_value) \ if ((rc) < 0) { \ return Error::from_syscall(syscall_name, rc); \ @@ -125,6 +129,12 @@ ErrorOr ptrace(int request, pid_t tid, void* address, void* data) return Error::from_syscall("ptrace"sv, -errno); return rc; } + +ErrorOr disown(pid_t pid) +{ + int rc = ::disown(pid); + HANDLE_SYSCALL_RETURN_VALUE("disown", rc, {}); +} #endif #ifndef AK_OS_BSD_GENERIC diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h index c13a938d55..60ffea982b 100644 --- a/Userland/Libraries/LibCore/System.h +++ b/Userland/Libraries/LibCore/System.h @@ -41,6 +41,7 @@ ErrorOr ptrace_peekbuf(pid_t tid, void const* tracee_addr, Bytes destinati ErrorOr setgroups(Span); ErrorOr mount(int source_fd, StringView target, StringView fs_type, int flags); ErrorOr ptrace(int request, pid_t tid, void* address, void* data); +ErrorOr disown(pid_t pid); #endif #ifndef AK_OS_BSD_GENERIC