Lines Matching refs:signum

169 	int signum;
189 static void psignal_internal(proc_t p, task_t task, thread_t thread, int flavor, int signum);
285 * Can process p, with ucred uc, send the signal signum to process q?
290 cansignal(proc_t p, kauth_cred_t uc, proc_t q, int signum, int zombie)
298 error = mac_proc_check_signal(p, q, signum);
317 if (signum == SIGCONT && q_sessp == p_sessp) {
372 int signum;
375 signum = uap->signum;
376 if (signum <= 0 || signum >= NSIG ||
377 signum == SIGKILL || signum == SIGSTOP)
381 sa->sa_handler = ps->ps_sigact[signum];
382 sa->sa_mask = ps->ps_catchmask[signum];
383 bit = sigmask(signum);
395 if ((signum == SIGCHLD) && (p->p_flag & P_NOCLDSTOP))
397 if ((signum == SIGCHLD) && (p->p_flag & P_NOCLDWAIT))
429 error = setsigvec(p, current_thread(), signum, &__vec, FALSE);
571 setsigvec(proc_t p, __unused thread_t thread, int signum, struct __kern_sigaction *sa, boolean_t in_sigstart)
576 if ((signum == SIGKILL || signum == SIGSTOP) &&
579 bit = sigmask(signum);
583 ps->ps_sigact[signum] = sa->sa_handler;
584 ps->ps_trampact[signum] = sa->sa_tramp;
585 ps->ps_catchmask[signum] = sa->sa_mask &~ sigcantmask;
614 if (signum == SIGCHLD) {
632 (sigprop[signum] & SA_IGNORE && sa->sa_handler == SIG_DFL)) {
635 if (signum != SIGCONT)
1136 int signum = uap->sig;
1143 if ((u_int)signum >= NSIG) {
1155 if (signum)
1156 psignal_uthread(target_act, signum);
1234 int signum;
1299 signum = ffs((unsigned int)sigw);
1300 if (!signum)
1303 uth->uu_siglist &= ~(sigmask(signum));
1306 DTRACE_PROC2(signal__clear, int, signum, siginfo_t *, &(ut->t_dtrace_siginfo));
1311 error = copyout(&signum, uap->sig, sizeof(int));
1391 AUDIT_ARG(signum, uap->signum);
1393 if ((u_int)uap->signum >= NSIG)
1408 if (!cansignal(cp, uc, p, uap->signum, 0)) {
1412 if (uap->signum)
1413 psignal(p, uap->signum);
1419 return (killpg1(cp, uap->signum, 0, 1, posix));
1421 return (killpg1(cp, uap->signum, 0, 0, posix));
1423 return (killpg1(cp, uap->signum, -(uap->pid), 0, posix));
1462 int signum = kargp->signum;
1473 error = cansignal(cp, uc, p, signum, zombie);
1481 if (cansignal(cp, uc, p, signum, 0) == 0)
1488 if (signum != 0)
1489 psignal(p, signum);
1500 killpg1(proc_t cp, int signum, int pgid, int all, int posix)
1520 karg.signum = signum;
1541 karg.signum = signum;
1561 gsignal(int pgid, int signum)
1566 pgsignal(pgrp, signum, 0);
1591 int signum = *(int*)arg;
1593 psignal(p, signum);
1599 pgsignal(struct pgrp *pgrp, int signum, int checkctty)
1602 pgrp_iterate(pgrp, PGRP_BLOCKITERATE, pgsignal_callback, &signum, pgsignal_filt, &checkctty);
1608 tty_pgsignal(struct tty *tp, int signum, int checkctty)
1614 pgrp_iterate(pg, PGRP_BLOCKITERATE, pgsignal_callback, &signum, pgsignal_filt, &checkctty);
1622 threadsignal(thread_t sig_actthread, int signum, mach_exception_code_t code)
1629 if ((u_int)signum >= NSIG || signum == 0)
1632 mask = sigmask(signum);
1657 get_signalthread(proc_t p, int signum, thread_t * thr)
1660 sigset_t mask = sigmask(signum);
1710 psignal_internal(proc_t p, task_t task, thread_t thread, int flavor, int signum)
1724 if ((u_int)signum >= NSIG || signum == 0)
1726 mask = sigmask(signum);
1727 prop = sigprop[signum];
1769 proc_knote(sig_proc, NOTE_SIGNAL | signum);
1787 DTRACE_PROC3(signal__discard, thread_t, sig_thread, proc_t, sig_proc, int, signum);
1800 kret = get_signalthread(sig_proc, signum, &sig_thread);
1894 if ((signum == SIGKILL) && (sig_proc->p_nice > NZERO)) {
1923 uth->t_dtrace_siginfo.si_signo = signum;
1925 uth->t_dtrace_siginfo.si_status = W_EXITCODE(signum, 0);
1973 if (signum != SIGCHLD) {
1979 sig_proc->si_status = W_EXITCODE(signum, 0);
2011 sig_proc->p_xstat = signum;
2032 if (signum != SIGSTOP)
2035 pp->si_status = W_EXITCODE(signum, signum);
2049 DTRACE_PROC3(signal__send, thread_t, sig_thread, proc_t, p, int, signum);
2055 switch (signum) {
2171 psignal(proc_t p, int signum)
2173 psignal_internal(p, NULL, NULL, 0, signum);
2177 psignal_locked(proc_t p, int signum)
2179 psignal_internal(p, NULL, NULL, PSIG_LOCKED, signum);
2183 psignal_vfork(proc_t p, task_t new_task, thread_t thread, int signum)
2185 psignal_internal(p, new_task, thread, PSIG_VFORK, signum);
2189 psignal_uthread(thread_t thread, int signum)
2191 psignal_internal(PROC_NULL, TASK_NULL, thread, PSIG_THREAD, signum);
2204 * while (signum = CURSIG(curproc))
2205 * postsig(signum);
2210 int signum, mask, prop, sigbits;
2246 signum = ffs((long)sigbits);
2247 mask = sigmask(signum);
2248 prop = sigprop[signum];
2265 p->p_xstat = signum;
2276 do_bsdexception(EXC_SOFTWARE, EXC_SOFT_SIGNAL, signum);
2378 signum = p->p_xstat;
2379 if (signum == 0)
2385 mask = sigmask(signum);
2397 switch ((long)p->p_sigacts->ps_sigact[signum]) {
2410 p->p_pid, signum);
2437 p->p_xstat = signum;
2472 retval = signum;
2496 retval = signum;
2511 int signum, mask, prop, sigbits;
2536 signum = ffs((long)sigbits);
2537 mask = sigmask(signum);
2538 prop = sigprop[signum];
2550 return(signum);
2559 switch ((long)p->p_sigacts->ps_sigact[signum]) {
2572 p->p_pid, signum);
2596 retnum = signum;
2605 return (signum);
2625 return (signum);
2653 postsig_locked(int signum)
2663 if (signum == 0)
2682 mask = sigmask(signum);
2684 catcher = ps->ps_sigact[signum];
2692 if (sigprop[signum] & SA_CORE) {
2693 p->p_sigacts->ps_sig = signum;
2697 signum |= WCOREFLAG;
2706 ut->t_dtrace_siginfo.si_signo = signum;
2712 switch (signum) {
2721 DTRACE_PROC3(signal__handle, int, signum, siginfo_t *, &(ut->t_dtrace_siginfo),
2726 p->p_pid, W_EXITCODE(0, signum), 3, 0, 0);
2727 exit1(p, W_EXITCODE(0, signum), (int *)NULL);
2755 ut->uu_sigmask |= ps->ps_catchmask[signum];
2758 if ((signum != SIGILL) && (signum != SIGTRAP) && (ps->ps_sigreset & mask)) {
2759 if ((signum != SIGCONT) && (sigprop[signum] & SA_IGNORE))
2761 ps->ps_sigact[signum] = SIG_DFL;
2766 if (ps->ps_sig != signum) {
2773 sendsig(p, catcher, signum, returnmask, code);
2872 int signum;
2973 while ( (signum = issignal_locked(p)) )
2974 postsig_locked(signum);