Lines Matching refs:sig
70 call_user_handler(int sig, siginfo_t *sip, ucontext_t *ucp)
89 self->ul_td_evbuf.eventdata = (void *)(intptr_t)sig;
95 * while holding the sig's sig_lock for the least possible time.
96 * We must acquire the sig's sig_lock because some thread running
113 sap = &udp->siguaction[sig].sig_uaction;
116 ((sig == SIGPROF && sip->si_code == PROF_SIG) ||
117 (sig == SIGEMT && sip->si_code == EMT_CPCOVF)))) {
121 rwlock_t *rwlp = &udp->siguaction[sig].sig_lock;
124 if ((sig == SIGCANCEL || sig == SIGAIOCANCEL) &&
156 (void) sigaddset(&uact.sa_mask, sig);
168 if (sig == SIGCANCEL) {
184 if (sig == SIGAIOCANCEL) {
196 if (sig != SIGFPE && ucp->uc_flags & UC_FPU)
202 __sighndlr(sig, sip, ucp, uact.sa_sigaction);
210 if (sig == SIGFPE && ucp->uc_mcontext.fpregs.fpu_qcnt) {
242 take_deferred_signal(int sig)
246 siguaction_t *suap = &self->ul_uberdata->siguaction[sig];
276 (void) __sigaction(sig, &tact, NULL);
285 while ((error = __sigresend(sig, sip, &self->ul_sigmask)) == EAGAIN)
292 sigacthandler(int sig, siginfo_t *sip, void *uvp)
302 if (sig != SIGCANCEL)
321 call_user_handler(sig, sip, ucp);
339 self->ul_cursig = (char)sig;
367 sigaction(int sig, const struct sigaction *nact, struct sigaction *oact)
376 if (sig <= 0 || sig >= NSIG) {
382 lrw_wrlock(&udp->siguaction[sig].sig_lock);
384 oaction = udp->siguaction[sig].sig_uaction;
416 } else if (sig == SIGCANCEL || sig == SIGAIOCANCEL) {
422 udp->siguaction[sig].sig_uaction = tact;
435 udp->siguaction[sig].sig_uaction = tact;
442 if ((rv = __sigaction(sig, tactp, oact)) != 0)
443 udp->siguaction[sig].sig_uaction = oaction;
453 if (sig == SIGIO && rv == 0 && tactp != NULL) {
460 lrw_unlock(&udp->siguaction[sig].sig_lock);
697 int sig;
699 for (sig = 0; sig < NSIG; sig++) {
700 rwlp = &udp->siguaction[sig].sig_lock;
704 sap = &udp->siguaction[sig].sig_uaction;
707 __sigaction(sig, NULL, &act) == 0 &&
714 (void) __sigaction(sig, &act, NULL);
751 setup_cancelsig(int sig)
754 rwlock_t *rwlp = &udp->siguaction[sig].sig_lock;
757 ASSERT(sig == SIGCANCEL || sig == SIGAIOCANCEL);
759 act = udp->siguaction[sig].sig_uaction;
770 (void) __sigaction(sig, &act, NULL);