Module Name: src Committed By: kamil Date: Tue Mar 13 13:34:40 UTC 2018
Modified Files: src/tests/lib/libc/sys: t_ptrace_wait.h Log Message: Add a new function in ATF t_ptrace_wait*: await_zombie_raw() Add await_zombie_raw() that is the same as await_zombie(), whith an addition of additional "useconds_t ms" parameter indicating delays between new polling for a zombie process. This new function will be used for testing a race condition that has been observed occassionally crashing a test case -- returning duplicate entries for KERN_PROC_PID. Sponsored by <The NetBSD Foundation> To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/sys/t_ptrace_wait.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/lib/libc/sys/t_ptrace_wait.h diff -u src/tests/lib/libc/sys/t_ptrace_wait.h:1.1 src/tests/lib/libc/sys/t_ptrace_wait.h:1.2 --- src/tests/lib/libc/sys/t_ptrace_wait.h:1.1 Sun Apr 2 21:44:00 2017 +++ src/tests/lib/libc/sys/t_ptrace_wait.h Tue Mar 13 13:34:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: t_ptrace_wait.h,v 1.1 2017/04/02 21:44:00 kamil Exp $ */ +/* $NetBSD: t_ptrace_wait.h,v 1.2 2018/03/13 13:34:40 kamil Exp $ */ /*- * Copyright (c) 2016 The NetBSD Foundation, Inc. @@ -328,7 +328,7 @@ forkee_status_stopped(int status, int ex /* This function is currently designed to be run in the main/parent process */ static void __used -await_zombie(pid_t process) +await_zombie_raw(pid_t process, useconds_t ms) { struct kinfo_proc2 p; size_t len = sizeof(p); @@ -351,10 +351,19 @@ await_zombie(pid_t process) if (p.p_stat == LSZOMB) break; - ATF_REQUIRE(usleep(1000) == 0); + if (ms > 0) { + ATF_REQUIRE(usleep(ms) == 0); + } } } +static void __used +await_zombie(pid_t process) +{ + + await_zombie_raw(process, 1000); +} + /* Happy number sequence -- this function is used to just consume cpu cycles */ #define HAPPY_NUMBER 1