diff options
Diffstat (limited to 'testsuite/systemtap.syscall/forkwait.c')
-rw-r--r-- | testsuite/systemtap.syscall/forkwait.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/systemtap.syscall/forkwait.c b/testsuite/systemtap.syscall/forkwait.c new file mode 100644 index 00000000..10f8d6ac --- /dev/null +++ b/testsuite/systemtap.syscall/forkwait.c @@ -0,0 +1,25 @@ +/* COVERAGE: fork wait4 */ +#include <sys/types.h> +#include <sys/time.h> +#include <sys/resource.h> +#include <sys/wait.h> +#include <stdlib.h> +#include <unistd.h> + +int main () +{ + pid_t child; + int status; + + child = fork(); + // clone (CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID) = NNNN + if (!child) { + int i = 0xfffff; + while (i > 0) i--; + exit(0); + } + wait4(child, &status, WNOHANG, NULL); + // wait4 (NNNN, XXXX, WNOHANG, XXXX) = NNNN + + return 0; +} |