Module Name: src
Committed By: kamil
Date: Wed Apr 3 08:19:46 UTC 2019
Modified Files:
src/tests/lib/libc/sys: t_ptrace_wait.c
Log Message:
The *fork*_signalmasked ATF tests no longer fail
Add a fixup for signalmasking in the vforkdone_singalmasked test.
To generate a diff of this commit:
cvs rdiff -u -r1.101 -r1.102 src/tests/lib/libc/sys/t_ptrace_wait.c
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.c
diff -u src/tests/lib/libc/sys/t_ptrace_wait.c:1.101 src/tests/lib/libc/sys/t_ptrace_wait.c:1.102
--- src/tests/lib/libc/sys/t_ptrace_wait.c:1.101 Thu Mar 28 08:13:40 2019
+++ src/tests/lib/libc/sys/t_ptrace_wait.c Wed Apr 3 08:19:46 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: t_ptrace_wait.c,v 1.101 2019/03/28 08:13:40 kamil Exp $ */
+/* $NetBSD: t_ptrace_wait.c,v 1.102 2019/04/03 08:19:46 kamil Exp $ */
/*-
* Copyright (c) 2016, 2017, 2018, 2019 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_ptrace_wait.c,v 1.101 2019/03/28 08:13:40 kamil Exp $");
+__RCSID("$NetBSD: t_ptrace_wait.c,v 1.102 2019/04/03 08:19:46 kamil Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -5221,9 +5221,6 @@ fork2_body(bool trackfork, bool trackvfo
ki_sigset_t kp_sigmask;
ki_sigset_t kp_sigignore;
- if (masked)
- atf_tc_expect_fail("Masked signal invisible to tracer");
-
if (trackfork)
fn = fork;
if (trackvfork || trackvforkdone)
@@ -5447,6 +5444,12 @@ fork2_body(bool trackfork, bool trackvfo
name[3] = child;
ATF_REQUIRE_EQ(sysctl(name, namelen, &kp, &len, NULL, 0), 0);
+ /*
+ * SIGCHLD is now pending in the signal queue and
+ * the kernel presents it to userland as a masked signal.
+ */
+ sigdelset((sigset_t *)&kp.p_sigmask, SIGCHLD);
+
if (masked) {
DPRINTF("kp_sigmask="
"%#02" PRIx32 "%02" PRIx32 "%02" PRIx32 "%02"