1 /*
2 * Check decoding of waitpid syscall.
3 *
4 * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@strace.io>
5 * Copyright (c) 2016-2021 The strace developers.
6 * All rights reserved.
7 *
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 */
10
11 #include "tests.h"
12 #include "scno.h"
13
14 #ifdef __NR_waitpid
15
16 # include <stdio.h>
17 # include <unistd.h>
18 # include <sys/wait.h>
19
20 int
21 main(void)
22 {
23 unsigned long pid =
24 (unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
25 long rc = syscall(__NR_waitpid, pid, 0L, (unsigned long) WNOHANG);
26 printf("waitpid(%d, NULL, WNOHANG) = %ld %s (%m)\n",
27 (int) pid, rc, errno2name());
28
29 puts("+++ exited with 0 +++");
30 return 0;
31 }
32
33 #else
34
35 SKIP_MAIN_UNDEFINED("__NR_waitpid")
36
37 #endif