SIGSTOP
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
DEFINE(_SIGSTOP, SIGSTOP);
DEFINE(_SIGSTOP, SIGSTOP);
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
stub_syscall2(__NR_kill, stub_syscall0(__NR_getpid), SIGSTOP);
if (!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGSTOP)) {
if (!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGSTOP))
kill(pid, SIGSTOP);
sigdelset(¤t->blocked, SIGSTOP);
case SIGSTOP:
allow_signal(SIGSTOP);
sigdelsetmask(mask, sigmask(SIGKILL) | sigmask(SIGSTOP));
sigaddset(&child->pending.signal, SIGSTOP);
rt_sigmask(SIGKILL) | rt_sigmask(SIGSTOP))
rt_sigmask(SIGSTOP) | rt_sigmask(SIGTSTP) | \
new_set &= ~(sigmask(SIGKILL) | sigmask(SIGSTOP));
siginitsetinv(&p->blocked, sigmask(SIGKILL)|sigmask(SIGSTOP));
sigdelsetmask(&new_set, sigmask(SIGKILL)|sigmask(SIGSTOP));
send_signal_locked(SIGSTOP, SEND_SIG_PRIV, task, PIDTYPE_PID);
if (signr != SIGSTOP) {
sigdelsetmask(newset, sigmask(SIGKILL) | sigmask(SIGSTOP));
sigdelsetmask(&new_set, sigmask(SIGKILL)|sigmask(SIGSTOP));
sigdelsetmask(&new_set, sigmask(SIGKILL)|sigmask(SIGSTOP));
sigdelsetmask(&mask, sigmask(SIGKILL) | sigmask(SIGSTOP));
sigmask(SIGKILL) | sigmask(SIGSTOP));
[SIGSTOP] = 19, /* 17, 19, 23 */
case SIGSTOP:
raise(SIGSTOP);
if (raise(SIGSTOP))
if (sig == SIGSTOP && si.si_code == SI_TKILL &&
if (sig == SIGSTOP && si.si_code == SI_TKILL &&
if (raise(SIGSTOP))
if (sig == SIGSTOP && si.si_code == SI_TKILL &&
if (raise(SIGSTOP))
if (sig == SIGSTOP && si.si_code == SI_TKILL &&
if (raise(SIGSTOP))
if (raise(SIGSTOP))
if (sig == SIGSTOP && si.si_code == SI_TKILL &&
if (WSTOPSIG(status) != SIGSTOP) {
if (raise(SIGSTOP) != 0) {
if (raise(SIGSTOP) != 0) {
if (WSTOPSIG(status) != SIGSTOP) {
if (raise(SIGSTOP))
if (kill(pid, SIGSTOP))
ASSERT_EQ(0, raise(SIGSTOP));
raise(SIGSTOP);
raise(SIGSTOP);
raise(SIGSTOP);
pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP);
pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP);
pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP);
raise(SIGSTOP);
raise(SIGSTOP);
pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP);
pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP);
return kill(getpid(), SIGSTOP);
raise(SIGSTOP);
raise(SIGSTOP);
!(WIFSTOPPED(child_status) && WSTOPSIG(child_status) == SIGSTOP)) {
ret = kill(recycled_pid, SIGSTOP);
kill(getpid(), SIGSTOP);
kill(getpid(), SIGSTOP);
kill(getpid(), SIGSTOP);
FAIL_IF_EXIT_MSG(raise(SIGSTOP), "Child failed to raise SIGSTOP");
syscall(SYS_tgkill, pid, tid, SIGSTOP);
kill(getpid(), SIGSTOP);
case SIGSTOP:
ASSERT_EQ(0, kill(pid, SIGSTOP)) {
ASSERT_EQ(0, kill(tracee_pid, SIGSTOP)) {
case SIGSTOP:
ASSERT_EQ(WSTOPSIG(s), SIGSTOP);
raise(SIGSTOP);
EXPECT_EQ(0, raise(SIGSTOP));
ASSERT_EQ(0, kill(child_pid, SIGSTOP));
ASSERT_EQ(SIGSTOP, WSTOPSIG(status));
EXPECT_EQ(SIGSTOP, info.si_signo);
ksft_assert(kill(child, SIGSTOP) == 0);
if (WSTOPSIG(status) == SIGSTOP)
syscall(SYS_tgkill, pid, tid, SIGSTOP);
syscall(SYS_tgkill, pid, tid, SIGSTOP);
syscall(SYS_tgkill, pid, tid, SIGSTOP);
syscall(SYS_tgkill, pid, tid, SIGSTOP);
raise(SIGSTOP);
raise(SIGSTOP);
sigdelsetmask(sigset, sigmask(SIGKILL)|sigmask(SIGSTOP));