Module Name: src Committed By: kamil Date: Fri Nov 11 12:01:14 UTC 2016
Modified Files: src/tests/kernel: t_ptrace_wait.c Log Message: Add new test t_ptrace_attach3 in t_ptrace Assert that tracer parent can PT_ATTACH to its child. This test is for all members of the wait(2) family. Currently it is marked as an explicit failure PR kern/51621. I faced the following issues (noted and discussed in the bug report): - PT_ATTACH seems to work, but waiting for stopped status and signal from the child results in getting SIGTRAP, not SIGSTOP like in Linux and FreeBSD. This might be by design, I'm unsure. However, so far I was getting SIGSTOP from a tracer process that was not the parent. SIGSTOP vs SIGTRAP logic also complicates the things up as tracer must check whether is a parent for tracee or not - this shouldn't be needed. - PT_CONTINUE seems to have no effect at all, the child hangs. This operation works on Linux and FreeBSD and in the end, test passes correctly. - Debugging this with gdb(1) results in receiving SIGABRT from the GNU debugger (in the moment of raising/receiving SIGTRAP). This is making the things harder in general. Sponsored by <The NetBSD Foundation>. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/kernel/t_ptrace_wait.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.