P_SUSPSIG
curp->p_flag & (P_SUSPSINGLE | P_SUSPSIG));
atomic_clearbits_int(&p->p_flag, P_SUSPSIG);
process_continue(pr, P_SUSPSIG);
process_stop(pr, P_SUSPSIG, SINGLE_SUSPEND);
process_stop(pr, P_SUSPSIG, SINGLE_SUSPEND);
atomic_setbits_int(&p->p_flag, P_SUSPSIG);
process_stop(pr, P_SUSPSIG, SINGLE_SUSPEND);
atomic_setbits_int(&p->p_flag, P_SUSPSIG);
atomic_clearbits_int(&p->p_flag, P_SUSPSIG);
process_continue(pr, P_SUSPSIG);
ISSET(q->p_flag, P_SUSPSIG | P_SUSPSINGLE) == 0) {
KASSERT(ISSET(p->p_flag, P_SUSPSIG | P_SUSPSINGLE) == 0);
if (atomic_load_int(&p->p_flag) & (P_SUSPSINGLE | P_SUSPSIG))
process_stop(pr, P_SUSPSIG, SINGLE_SUSPEND);
atomic_setbits_int(&p->p_flag, P_SUSPSIG);