From 11578c623c3208cf79c1d03f63f38a482a2a207f Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Mon, 13 Dec 2021 18:43:39 +0100 Subject: LibCore: Add waitpid() wrapper that return ErrorOr --- Userland/Libraries/LibCore/System.cpp | 8 ++++++++ Userland/Libraries/LibCore/System.h | 2 ++ 2 files changed, 10 insertions(+) (limited to 'Userland') diff --git a/Userland/Libraries/LibCore/System.cpp b/Userland/Libraries/LibCore/System.cpp index 54a04e9002..4014830411 100644 --- a/Userland/Libraries/LibCore/System.cpp +++ b/Userland/Libraries/LibCore/System.cpp @@ -380,4 +380,12 @@ ErrorOr posix_spawnp(StringView const path, posix_spawn_file_actions_t* c return child_pid; } +ErrorOr waitpid(pid_t waitee, int* wstatus, int options) +{ + pid_t pid = ::waitpid(waitee, wstatus, options); + if (pid < 0) + return Error::from_syscall("waitpid"sv, -errno); + return pid; +} + } diff --git a/Userland/Libraries/LibCore/System.h b/Userland/Libraries/LibCore/System.h index e9d8dd8b8e..32d4beb711 100644 --- a/Userland/Libraries/LibCore/System.h +++ b/Userland/Libraries/LibCore/System.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -53,5 +54,6 @@ ErrorOr getpwnam(StringView name); ErrorOr getgrnam(StringView name); ErrorOr clock_settime(clockid_t clock_id, struct timespec* ts); ErrorOr posix_spawnp(StringView const path, posix_spawn_file_actions_t* const file_actions, posix_spawnattr_t* const attr, char* const arguments[], char* const envp[]); +ErrorOr waitpid(pid_t waitee, int* wstatus, int options); } -- cgit v1.2.3