Lines Matching full:blocked

104 	 * Blocked signals are never ignored, since the  in sig_ignored()
108 if (sigismember(&t->blocked, sig) || sigismember(&t->real_blocked, sig)) in sig_ignored()
124 * signals, globally pending signals, and blocked signals.
126 static inline bool has_pending_signals(sigset_t *signal, sigset_t *blocked) in has_pending_signals() argument
134 ready |= signal->sig[i] &~ blocked->sig[i]; in has_pending_signals()
137 case 4: ready = signal->sig[3] &~ blocked->sig[3]; in has_pending_signals()
138 ready |= signal->sig[2] &~ blocked->sig[2]; in has_pending_signals()
139 ready |= signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
140 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
143 case 2: ready = signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
144 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
147 case 1: ready = signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
157 PENDING(&t->pending, &t->blocked) || in recalc_sigpending_tsk()
158 PENDING(&t->signal->shared_pending, &t->blocked) || in recalc_sigpending_tsk()
716 if (!((pending->signal.sig[0] & ~tsk->blocked.sig[0]) & SYNCHRONOUS_MASK)) in dequeue_synchronous_signal()
758 * goes through ->blocked
975 if (sigismember(&p->blocked, sig)) in wants_signal()
1303 * since we do not want to have a signal handler that was blocked
1304 * be invoked when user space had explicitly blocked it.
1313 int ret, blocked, ignored; in force_sig_info_to_task() local
1320 blocked = sigismember(&t->blocked, sig); in force_sig_info_to_task()
1321 if (blocked || ignored) { in force_sig_info_to_task()
1323 if (blocked) { in force_sig_info_to_task()
1324 sigdelset(&t->blocked, sig); in force_sig_info_to_task()
1983 * blocked sys_wait4 might now return -ECHILD. in do_notify_parent()
2518 /* If the (new) signal is now blocked, requeue it. */ in ptrace_signal()
2519 if (sigismember(&current->blocked, signr)) { in ptrace_signal()
2648 signr = dequeue_signal(current, &current->blocked, &ksig->info); in get_signal()
2773 * delivered. It updates the blocked signals accordingly (@ksig->ka.sa.sa_mask
2774 * is always blocked, and the signal itself is blocked unless %SA_NODEFER
2779 sigset_t blocked; in signal_delivered() local
2787 sigorsets(&blocked, &current->blocked, &ksig->ka.sa.sa_mask); in signal_delivered()
2789 sigaddset(&blocked, ksig->sig); in signal_delivered()
2790 set_current_blocked(&blocked); in signal_delivered()
2821 if (!has_pending_signals(&retarget, &t->blocked)) in retarget_shared_pending()
2824 sigandsets(&retarget, &retarget, &t->blocked); in retarget_shared_pending()
2863 unblocked = tsk->blocked; in exit_signals()
2906 /* A set of now blocked but previously unblocked signals. */ in __set_task_blocked()
2907 sigandnsets(&newblocked, newset, &current->blocked); in __set_task_blocked()
2910 tsk->blocked = *newset; in __set_task_blocked()
2915 * set_current_blocked - change current->blocked mask
2918 * It is wrong to change ->blocked directly, this helper should be used
2933 * to do. The current->blocked shouldn't be modified by other task. in __set_current_blocked()
2935 if (sigequalsets(&tsk->blocked, newset)) in __set_current_blocked()
2956 /* Lockless, only current can change ->blocked, never from irq */ in sigprocmask()
2958 *oldset = tsk->blocked; in sigprocmask()
2962 sigorsets(&newset, &tsk->blocked, set); in sigprocmask()
2965 sigandnsets(&newset, &tsk->blocked, set); in sigprocmask()
3000 current->saved_sigmask = current->blocked; in set_user_sigmask()
3020 current->saved_sigmask = current->blocked; in set_compat_user_sigmask()
3028 * sys_rt_sigprocmask - change the list of currently blocked signals
3044 old_set = current->blocked; in SYSCALL_DEFINE4()
3068 sigset_t old_set = current->blocked; in COMPAT_SYSCALL_DEFINE4()
3097 sigandsets(set, &current->blocked, set); in do_sigpending()
3102 * while blocked
3486 tsk->real_blocked = tsk->blocked; in do_sigtimedwait()
3487 sigandsets(&tsk->blocked, &tsk->blocked, &mask); in do_sigtimedwait()
3998 * whether or not it is blocked." in do_sigaction()
4003 * be discarded, whether or not it is blocked" in do_sigaction()
4195 * sys_sigprocmask - examine and change blocked signals
4210 old_set = current->blocked.sig[0]; in SYSCALL_DEFINE3()
4216 new_blocked = current->blocked; in SYSCALL_DEFINE3()
4409 return current->blocked.sig[0]; in SYSCALL_DEFINE0()
4414 int old = current->blocked.sig[0]; in SYSCALL_DEFINE1()
4458 current->saved_sigmask = current->blocked; in sigsuspend()
4506 sigset_t blocked; in SYSCALL_DEFINE1() local
4507 siginitset(&blocked, mask); in SYSCALL_DEFINE1()
4508 return sigsuspend(&blocked); in SYSCALL_DEFINE1()
4514 sigset_t blocked; in SYSCALL_DEFINE3() local
4515 siginitset(&blocked, mask); in SYSCALL_DEFINE3()
4516 return sigsuspend(&blocked); in SYSCALL_DEFINE3()