Lines Matching refs:sig

71 call_user_handler(int sig, siginfo_t *sip, ucontext_t *ucp)
90 self->ul_td_evbuf.eventdata = (void *)(intptr_t)sig;
96 * while holding the sig's sig_lock for the least possible time.
97 * We must acquire the sig's sig_lock because some thread running
114 sap = &udp->siguaction[sig].sig_uaction;
117 ((sig == SIGPROF && sip->si_code == PROF_SIG) ||
118 (sig == SIGEMT && sip->si_code == EMT_CPCOVF)))) {
122 rwlock_t *rwlp = &udp->siguaction[sig].sig_lock;
125 if ((sig == SIGCANCEL || sig == SIGAIOCANCEL) &&
157 (void) sigaddset(&uact.sa_mask, sig);
169 if (sig == SIGCANCEL) {
185 if (sig == SIGAIOCANCEL) {
198 __sighndlr(sig, sip, ucp, uact.sa_sigaction);
206 if (sig == SIGFPE && ucp->uc_mcontext.fpregs.fpu_qcnt) {
238 take_deferred_signal(int sig)
242 siguaction_t *suap = &self->ul_uberdata->siguaction[sig];
272 (void) __sigaction(sig, &tact, NULL);
281 while ((error = __sigresend(sig, sip, &self->ul_sigmask)) == EAGAIN)
288 sigacthandler(int sig, siginfo_t *sip, void *uvp)
298 if (sig != SIGCANCEL)
317 call_user_handler(sig, sip, ucp);
335 self->ul_cursig = (char)sig;
363 sigaction(int sig, const struct sigaction *nact, struct sigaction *oact)
372 if (sig <= 0 || sig >= NSIG) {
378 lrw_wrlock(&udp->siguaction[sig].sig_lock);
380 oaction = udp->siguaction[sig].sig_uaction;
412 } else if (sig == SIGCANCEL || sig == SIGAIOCANCEL) {
418 udp->siguaction[sig].sig_uaction = tact;
431 udp->siguaction[sig].sig_uaction = tact;
438 if ((rv = __sigaction(sig, tactp, oact)) != 0)
439 udp->siguaction[sig].sig_uaction = oaction;
449 if (sig == SIGIO && rv == 0 && tactp != NULL) {
456 lrw_unlock(&udp->siguaction[sig].sig_lock);
692 int sig;
694 for (sig = 0; sig < NSIG; sig++) {
695 rwlp = &udp->siguaction[sig].sig_lock;
699 sap = &udp->siguaction[sig].sig_uaction;
702 __sigaction(sig, NULL, &act) == 0 &&
709 (void) __sigaction(sig, &act, NULL);
746 setup_cancelsig(int sig)
749 rwlock_t *rwlp = &udp->siguaction[sig].sig_lock;
752 ASSERT(sig == SIGCANCEL || sig == SIGAIOCANCEL);
754 act = udp->siguaction[sig].sig_uaction;
765 (void) __sigaction(sig, &act, NULL);