]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r313992, r314075, r314118, r315484:
authorbadger <badger@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 25 Mar 2017 13:33:23 +0000 (13:33 +0000)
committerbadger <badger@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 25 Mar 2017 13:33:23 +0000 (13:33 +0000)
commit42f0885366d327c8b75678afd37ef513359cc9f2
treea6e5f39151b1cb6b8cf2c8ce083bb10ceda0ffd2
parentfc9c5b38eef37c3da126c7e745c3b87454d935c6
MFC r313992, r314075, r314118, r315484:

r315484:
    ptrace_test: eliminate assumption about thread scheduling

    A couple of the ptrace tests make assumptions about which thread in a
    multithreaded process will run after a halt. This makes the tests less
    portable across branches, and susceptible to future breakage. Instead,
    twiddle thread scheduling and priorities to match the tests'
    expectation.

r314118:
    Actually fix buildworlds other than i386/amd64/sparc64 after r313992

    Disable offending test for platforms without a userspace visible
    breakpoint().

r314075:
    Fix world build for archs where __builtin_debugtrap() does not work.

    The offending code was introduced in r313992.

r313992:
    Defer ptracestop() signals that cannot be delivered immediately

    When a thread is stopped in ptracestop(), the ptrace(2) user may request
    a signal be delivered upon resumption of the thread. Heretofore, those signals
    were discarded unless ptracestop()'s caller was issignal(). Fix this by
    modifying ptracestop() to queue up signals requested by the ptrace user that
    will be delivered when possible. Take special care when the signal is SIGKILL
    (usually generated from a PT_KILL request); no new stop events should be
    triggered after a PT_KILL.

    Add a number of tests for the new functionality. Several tests were authored
    by jhb.

PR: 212607
Sponsored by: Dell EMC

git-svn-id: svn://svn.freebsd.org/base/stable/10@315949 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/kern/kern_fork.c
sys/kern/kern_sig.c
sys/kern/kern_thr.c
sys/kern/subr_syscall.c
sys/kern/sys_process.c
sys/sys/signalvar.h
tests/sys/kern/Makefile
tests/sys/kern/ptrace_test.c