Revert "selftests/nolibc: use waitid() over waitpid()"

nolibc's waitpid() now uses the waitid() syscall internally.
This removes the original reasoning for the reverted commit as
waitpid() is now available on all platforms and has an easier interface.

Switch back to waitpid().

This reverts commit a0bc8947ac.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Acked-by: Willy Tarreau <w@1wt.eu>
This commit is contained in:
Thomas Weißschuh 2025-04-11 11:00:46 +02:00 committed by Thomas Weißschuh
parent 0c89abf5ab
commit 4175b55845

View File

@ -1462,8 +1462,7 @@ static int run_protection(int min __attribute__((unused)),
int max __attribute__((unused)))
{
pid_t pid;
int llen = 0, ret;
siginfo_t siginfo = {};
int llen = 0, status;
struct rlimit rlimit = { 0, 0 };
llen += printf("0 -fstackprotector ");
@ -1501,11 +1500,10 @@ static int run_protection(int min __attribute__((unused)),
return 1;
default:
ret = waitid(P_PID, pid, &siginfo, WEXITED);
pid = waitpid(pid, &status, 0);
if (ret != 0 || siginfo.si_signo != SIGCHLD ||
siginfo.si_code != CLD_KILLED || siginfo.si_status != SIGABRT) {
llen += printf("waitid()");
if (pid == -1 || !WIFSIGNALED(status) || WTERMSIG(status) != SIGABRT) {
llen += printf("waitpid()");
result(llen, FAIL);
return 1;
}