SIGSTOP
if (sig != 0 && sig != SIGSTOP && sig != SIGTSTP && sig != SIGTTIN &&
if (kill(getpid(), SIGSTOP) != 0)
kill(getpid(), SIGSTOP);
kill(getpid(), SIGSTOP);
signal(SIGSTOP, SIG_IGN);
kill(getpid(), SIGSTOP);
signal(SIGSTOP, tstop);
signal(SIGSTOP, onsig);
signal(SIGSTOP, onsig);
[SIGSTOP] = "Suspended (signal)",
[SIGSTOP] = "STOP",
kill(getpid(),SIGSTOP);
signal(SIGSTOP, SIG_IGN);
if (SIGISMEMBER(curproc->p_siglist, SIGSTOP)) {
ksignal(initproc, SIGSTOP);
if (sig == SIGKILL || sig == SIGSTOP) {
data = SIGSTOP;
SIGADDSET(set, SIGKILL), SIGADDSET(set, SIGSTOP)
SIGDELSET(set, SIGKILL), SIGDELSET(set, SIGSTOP)
SIGDELSET(set, SIGSTOP), SIGDELSET(set, SIGTSTP), \
SIGDELSET_ATOMIC(set, SIGSTOP), SIGDELSET_ATOMIC(set, SIGTSTP), \
#define sigcantmask (sigmask(SIGKILL) | sigmask(SIGSTOP))
{ "urg", SIGURG }, { "stop", SIGSTOP },
if (kill(pid, SIGSTOP) == -1)
kill(getpid(), SIGSTOP);
if (signo != SIGKILL && signo != SIGSTOP && signo != SIGCONT) {
if (sig == SIGKILL || sig == SIGSTOP || sig == SIGCONT ||
kill(getpid(), SIGSTOP);
kill(getpid(), SIGSTOP);
kill(getpid(), SIGSTOP);
raise(SIGSTOP);
case SIGSTOP: return("STOP");