Lines Matching full:blocked

107 	 * Blocked signals are never ignored, since the  in sig_ignored()
111 if (sigismember(&t->blocked, sig) || sigismember(&t->real_blocked, sig)) in sig_ignored()
127 * signals, globally pending signals, and blocked signals.
129 static inline bool has_pending_signals(sigset_t *signal, sigset_t *blocked) in has_pending_signals() argument
137 ready |= signal->sig[i] &~ blocked->sig[i]; in has_pending_signals()
140 case 4: ready = signal->sig[3] &~ blocked->sig[3]; in has_pending_signals()
141 ready |= signal->sig[2] &~ blocked->sig[2]; in has_pending_signals()
142 ready |= signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
143 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
146 case 2: ready = signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
147 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
150 case 1: ready = signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
160 PENDING(&t->pending, &t->blocked) || in recalc_sigpending_tsk()
161 PENDING(&t->signal->shared_pending, &t->blocked) || in recalc_sigpending_tsk()
715 if (!((pending->signal.sig[0] & ~tsk->blocked.sig[0]) & SYNCHRONOUS_MASK)) in dequeue_synchronous_signal()
757 * goes through ->blocked
979 if (sigismember(&p->blocked, sig)) in wants_signal()
1318 * since we do not want to have a signal handler that was blocked
1319 * be invoked when user space had explicitly blocked it.
1329 int ret, blocked, ignored; in force_sig_info_to_task() local
1336 blocked = sigismember(&t->blocked, sig); in force_sig_info_to_task()
1337 if (blocked || ignored || (handler != HANDLER_CURRENT)) { in force_sig_info_to_task()
1341 if (blocked) in force_sig_info_to_task()
1342 sigdelset(&t->blocked, sig); in force_sig_info_to_task()
1352 /* This can happen if the signal was already pending and blocked */ in force_sig_info_to_task()
1822 * process if SIGTRAP is blocked, however, delivering the signal in send_sig_perf()
1827 info.si_perf_flags = sigismember(&current->blocked, info.si_signo) ? in send_sig_perf()
2128 * blocked sys_wait4 might now return -ECHILD. in do_notify_parent()
2651 /* If the (new) signal is now blocked, requeue it. */ in ptrace_signal()
2652 if (sigismember(&current->blocked, signr) || in ptrace_signal()
2798 signr = dequeue_signal(&current->blocked, &ksig->info, &type); in get_signal()
2932 * signal_delivered - called after signal delivery to update blocked signals
2937 * delivered. It updates the blocked signals accordingly (@ksig->ka.sa.sa_mask
2938 * is always blocked), and the signal itself is blocked unless %SA_NODEFER
2943 sigset_t blocked; in signal_delivered() local
2951 sigorsets(&blocked, &current->blocked, &ksig->ka.sa.sa_mask); in signal_delivered()
2953 sigaddset(&blocked, ksig->sig); in signal_delivered()
2954 set_current_blocked(&blocked); in signal_delivered()
2987 if (!has_pending_signals(&retarget, &t->blocked)) in retarget_shared_pending()
2990 sigandsets(&retarget, &retarget, &t->blocked); in retarget_shared_pending()
3031 unblocked = tsk->blocked; in exit_signals()
3074 /* A set of now blocked but previously unblocked signals. */ in __set_task_blocked()
3075 sigandnsets(&newblocked, newset, &current->blocked); in __set_task_blocked()
3078 tsk->blocked = *newset; in __set_task_blocked()
3083 * set_current_blocked - change current->blocked mask
3086 * It is wrong to change ->blocked directly, this helper should be used
3101 * to do. The current->blocked shouldn't be modified by other task. in __set_current_blocked()
3103 if (sigequalsets(&tsk->blocked, newset)) in __set_current_blocked()
3124 /* Lockless, only current can change ->blocked, never from irq */ in sigprocmask()
3126 *oldset = tsk->blocked; in sigprocmask()
3130 sigorsets(&newset, &tsk->blocked, set); in sigprocmask()
3133 sigandnsets(&newset, &tsk->blocked, set); in sigprocmask()
3168 current->saved_sigmask = current->blocked; in set_user_sigmask()
3188 current->saved_sigmask = current->blocked; in set_compat_user_sigmask()
3196 * sys_rt_sigprocmask - change the list of currently blocked signals
3212 old_set = current->blocked; in SYSCALL_DEFINE4()
3236 sigset_t old_set = current->blocked; in COMPAT_SYSCALL_DEFINE4()
3265 sigandsets(set, &current->blocked, set); in do_sigpending()
3270 * while blocked
3660 tsk->real_blocked = tsk->blocked; in do_sigtimedwait()
3661 sigandsets(&tsk->blocked, &tsk->blocked, &mask); in do_sigtimedwait()
4215 * whether or not it is blocked." in do_sigaction()
4220 * be discarded, whether or not it is blocked" in do_sigaction()
4436 * sys_sigprocmask - examine and change blocked signals
4451 old_set = current->blocked.sig[0]; in SYSCALL_DEFINE3()
4457 new_blocked = current->blocked; in SYSCALL_DEFINE3()
4650 return current->blocked.sig[0]; in SYSCALL_DEFINE0()
4655 int old = current->blocked.sig[0]; in SYSCALL_DEFINE1()
4699 current->saved_sigmask = current->blocked; in sigsuspend()
4747 sigset_t blocked; in SYSCALL_DEFINE1() local
4748 siginitset(&blocked, mask); in SYSCALL_DEFINE1()
4749 return sigsuspend(&blocked); in SYSCALL_DEFINE1()
4755 sigset_t blocked; in SYSCALL_DEFINE3() local
4756 siginitset(&blocked, mask); in SYSCALL_DEFINE3()
4757 return sigsuspend(&blocked); in SYSCALL_DEFINE3()