Lines Matching refs:ucp
71 static void check_cancel(struct pthread *curthread, ucontext_t *ucp);
135 siginfo_t *info __unused, ucontext_t *ucp)
144 check_cancel(curthread, ucp);
158 ucontext_t *ucp;
165 ucp = _ucp;
183 curthread->deferred_sigmask = ucp->uc_sigmask;
185 ucp->uc_sigmask = _thr_deferset;
189 handle_signal(&act, sig, info, ucp);
193 handle_signal(struct sigaction *actp, int sig, siginfo_t *info, ucontext_t *ucp)
205 SIGSETOR(actp->sa_mask, ucp->uc_sigmask);
244 sigfunc(sig, info, ucp);
247 (struct sigcontext *)ucp, info->si_addr,
256 memcpy(&uc2, ucp, sizeof(uc2));
278 check_cancel(struct pthread *curthread, ucontext_t *ucp)
306 if (curthread->in_sigsuspend && ucp) {
307 SIGADDSET(ucp->uc_sigmask, SIGCANCEL);
318 ucp? &ucp->uc_sigmask : NULL);
731 __thr_setcontext(const ucontext_t *ucp)
735 if (ucp == NULL) {
739 if (!SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL))
740 return (__sys_setcontext(ucp));
741 (void) memcpy(&uc, ucp, sizeof(uc));
747 __thr_swapcontext(ucontext_t *oucp, const ucontext_t *ucp)
751 if (oucp == NULL || ucp == NULL) {
755 if (SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL)) {
756 (void) memcpy(&uc, ucp, sizeof(uc));
758 ucp = &uc;
760 return (__sys_swapcontext(oucp, ucp));