diff options
author | Ian Moffett <ian@osmora.org> | 2024-03-07 17:28:52 -0500 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-03-07 18:24:51 -0500 |
commit | f5e48e94a2f4d4bbd6e5628c7f2afafc6dbcc459 (patch) | |
tree | 93b156621dc0303816b37f60ba88051b702d92f6 /lib/mlibc/tests/posix/pause.c | |
parent | bd5969fc876a10b18613302db7087ef3c40f18e1 (diff) |
build: Build mlibc + add distclean target
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'lib/mlibc/tests/posix/pause.c')
-rw-r--r-- | lib/mlibc/tests/posix/pause.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/mlibc/tests/posix/pause.c b/lib/mlibc/tests/posix/pause.c deleted file mode 100644 index 054c5a4..0000000 --- a/lib/mlibc/tests/posix/pause.c +++ /dev/null @@ -1,49 +0,0 @@ -#include <assert.h> -#include <signal.h> -#include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <errno.h> -#include <sys/wait.h> - -static void noop(int x) { - (void)x; -} - -int main() { - signal(SIGUSR1, &noop); - - int pid; - switch(pid = fork()) { - case -1: - perror("fork"); - abort(); - case 0: - pause(); - assert(errno == EINTR); - return 0; - default: - while (1) { - usleep(100); - kill(pid, SIGUSR1); - usleep(100); - int status; - - errno = 0; - if (waitpid(-1, &status, WNOHANG) <= 0) { - if (errno && errno != EAGAIN) { - perror("wait"); - kill(pid, SIGKILL); - } - continue; - } - - if (!WIFEXITED(status)) { - printf("wait returned %x\n", status); - abort(); - } - - return WEXITSTATUS(status); - } - } -} |