Commit 59303930 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Thomas Weißschuh
Browse files

tools/nolibc: implement wait() in terms of waitpid()



Newer architectures like riscv 32-bit are missing sys_wait4().
Make use of the fact that wait(&status) is defined to be equivalent to
waitpid(-1, status, 0) to implement it on all architectures.

Signed-off-by: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Acked-by: default avatarWilly Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20250428-nolibc-misc-v2-15-3c043eeab06c@linutronix.de


Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
parent 5e7392dc
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -31,12 +31,6 @@ pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage)
#endif
}

static __attribute__((unused))
pid_t wait(int *status)
{
	return __sysret(sys_wait4(-1, status, 0, NULL));
}

static __attribute__((unused))
pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage)
{
@@ -113,4 +107,10 @@ pid_t waitpid(pid_t pid, int *status, int options)
	return info.si_pid;
}

static __attribute__((unused))
pid_t wait(int *status)
{
	return waitpid(-1, status, 0);
}

#endif /* _NOLIBC_SYS_WAIT_H */