Lines Matching defs:ucp
71 static void check_cancel(struct pthread *curthread, ucontext_t *ucp);
188 sigcancel_handler(int sig __unused, siginfo_t *info __unused, ucontext_t *ucp)
197 check_cancel(curthread, ucp);
211 ucontext_t *ucp;
218 ucp = _ucp;
236 curthread->deferred_sigmask = ucp->uc_sigmask;
238 ucp->uc_sigmask = _thr_deferset;
242 handle_signal(&act, sig, info, ucp);
246 handle_signal(struct sigaction *actp, int sig, siginfo_t *info, ucontext_t *ucp)
257 SIGSETOR(actp->sa_mask, ucp->uc_sigmask);
296 sigfunc(sig, info, ucp);
299 (struct sigcontext *)ucp, info->si_addr,
308 SIGDELSET(ucp->uc_sigmask, SIGCANCEL);
311 check_cancel(curthread, ucp);
328 check_cancel(struct pthread *curthread, ucontext_t *ucp)
357 if (ucp != NULL) {
358 SIGADDSET(ucp->uc_sigmask, SIGCANCEL);
369 _pthread_exit_mask(PTHREAD_CANCELED, ucp != NULL ?
370 &ucp->uc_sigmask : NULL);
784 __thr_setcontext(const ucontext_t *ucp)
788 if (ucp == NULL) {
792 if (!SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL))
793 return (__sys_setcontext(ucp));
794 (void) memcpy(&uc, ucp, sizeof(uc));
800 __thr_swapcontext(ucontext_t *oucp, const ucontext_t *ucp)
804 if (oucp == NULL || ucp == NULL) {
808 if (SIGISMEMBER(ucp->uc_sigmask, SIGCANCEL)) {
809 (void) memcpy(&uc, ucp, sizeof(uc));
811 ucp = &uc;
813 return (__sys_swapcontext(oucp, ucp));