summaryrefslogtreecommitdiff
path: root/src/libc/syswait.c
diff options
context:
space:
mode:
authordzwdz2023-08-27 02:06:32 +0200
committerdzwdz2023-08-27 02:06:32 +0200
commite43939bcc6123e02314aa403eef94d5ace441f7f (patch)
treeac0cea10e8708ae1a6a7a400257c4bc59175a91f /src/libc/syswait.c
parent1f938c20b4a82ca1267ab9a1ec0922878a21ca6b (diff)
ports: qbe, cproc :^)
Diffstat (limited to 'src/libc/syswait.c')
-rw-r--r--src/libc/syswait.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libc/syswait.c b/src/libc/syswait.c
index 43c20ae..d7da2e0 100644
--- a/src/libc/syswait.c
+++ b/src/libc/syswait.c
@@ -10,11 +10,18 @@ pid_t wait(int *wstatus) {
}
pid_t wait3(int *wstatus, int opts, struct rusage *rusage) {
+ if (rusage) {
+ __libc_panic("unimplemented");
+ }
+ return waitpid(-1, wstatus, opts);
+}
+
+pid_t waitpid(pid_t pid, int *wstatus, int opts) {
struct sys_wait2 res;
- if (opts || rusage) {
+ if (opts) {
__libc_panic("unimplemented");
}
- pid_t ret = _sys_wait2(-1, 0, &res);
+ pid_t ret = _sys_wait2(pid, 0, &res);
if (ret < 0) {
errno = -ret;
return -1;