Lines Matching refs:signal
74 if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) && in sig_task_ignored()
104 static inline int has_pending_signals(sigset_t *signal, sigset_t *blocked) in has_pending_signals() argument
112 ready |= signal->sig[i] &~ blocked->sig[i]; in has_pending_signals()
115 case 4: ready = signal->sig[3] &~ blocked->sig[3]; in has_pending_signals()
116 ready |= signal->sig[2] &~ blocked->sig[2]; in has_pending_signals()
117 ready |= signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
118 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
121 case 2: ready = signal->sig[1] &~ blocked->sig[1]; in has_pending_signals()
122 ready |= signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
125 case 1: ready = signal->sig[0] &~ blocked->sig[0]; in has_pending_signals()
130 #define PENDING(p,b) has_pending_signals(&(p)->signal, (b))
136 PENDING(&t->signal->shared_pending, &t->blocked)) { in recalc_sigpending_tsk()
176 s = pending->signal.sig; in next_signal()
331 struct signal_struct *sig = task->signal; in task_participate_group_stop()
408 sigemptyset(&queue->signal); in flush_sigqueue()
423 flush_sigqueue(&t->signal->shared_pending); in __flush_signals()
437 sigset_t signal, retain; in __flush_itimer_signals() local
440 signal = pending->signal; in __flush_itimer_signals()
449 sigdelset(&signal, sig); in __flush_itimer_signals()
455 sigorsets(&pending->signal, &signal, &retain); in __flush_itimer_signals()
465 __flush_itimer_signals(&tsk->signal->shared_pending); in flush_itimer_signals()
562 sigdelset(&list->signal, sig); in collect_signal()
619 signr = __dequeue_signal(&tsk->signal->shared_pending, in dequeue_signal()
635 struct hrtimer *tmr = &tsk->signal->real_timer; in dequeue_signal()
638 tsk->signal->it_real_incr.tv64 != 0) { in dequeue_signal()
640 tsk->signal->it_real_incr); in dequeue_signal()
715 sigandsets(&m, mask, &s->signal); in flush_sigqueue_mask()
719 sigandnsets(&s->signal, &s->signal, mask); in flush_sigqueue_mask()
837 struct signal_struct *signal = p->signal; in prepare_signal() local
841 if (signal->flags & (SIGNAL_GROUP_EXIT | SIGNAL_GROUP_COREDUMP)) { in prepare_signal()
842 if (signal->flags & SIGNAL_GROUP_COREDUMP) in prepare_signal()
852 flush_sigqueue_mask(&flush, &signal->shared_pending); in prepare_signal()
861 flush_sigqueue_mask(&flush, &signal->shared_pending); in prepare_signal()
880 if (signal->flags & SIGNAL_STOP_STOPPED) in prepare_signal()
882 else if (signal->group_stop_count) in prepare_signal()
891 signal->flags = why | SIGNAL_STOP_CONTINUED; in prepare_signal()
892 signal->group_stop_count = 0; in prepare_signal()
893 signal->group_exit_code = 0; in prepare_signal()
923 struct signal_struct *signal = p->signal; in complete_signal() local
944 t = signal->curr_target; in complete_signal()
947 if (t == signal->curr_target) in complete_signal()
955 signal->curr_target = t; in complete_signal()
963 !(signal->flags & (SIGNAL_UNKILLABLE | SIGNAL_GROUP_EXIT)) && in complete_signal()
976 signal->flags = SIGNAL_GROUP_EXIT; in complete_signal()
977 signal->group_exit_code = sig; in complete_signal()
978 signal->group_stop_count = 0; in complete_signal()
982 sigaddset(&t->pending.signal, SIGKILL); in complete_signal()
999 return (sig < SIGRTMIN) && sigismember(&signals->signal, sig); in legacy_queue()
1038 pending = group ? &t->signal->shared_pending : &t->pending; in __send_signal()
1120 sigaddset(&pending->signal, sig); in __send_signal()
1229 t->signal->flags &= ~SIGNAL_UNKILLABLE; in force_sig_info()
1244 p->signal->group_stop_count = 0; in zap_other_threads()
1253 sigaddset(&t->pending.signal, SIGKILL); in zap_other_threads()
1604 pending = group ? &t->signal->shared_pending : &t->pending; in send_sigqueue()
1606 sigaddset(&pending->signal, sig); in send_sigqueue()
1668 info.si_utime = cputime_to_clock_t(utime + tsk->signal->utime); in do_notify_parent()
1669 info.si_stime = cputime_to_clock_t(stime + tsk->signal->stime); in do_notify_parent()
1762 info.si_status = tsk->signal->group_exit_code & 0x7f; in do_notify_parent_cldstop()
1813 return sigismember(&tsk->pending.signal, SIGKILL) || in sigkill_pending()
1814 sigismember(&tsk->signal->shared_pending.signal, SIGKILL); in sigkill_pending()
2000 struct signal_struct *sig = current->signal; in do_signal_stop()
2116 struct signal_struct *signal = current->signal; in do_jobctl_trap() local
2120 if (!signal->group_stop_count && in do_jobctl_trap()
2121 !(signal->flags & SIGNAL_STOP_STOPPED)) in do_jobctl_trap()
2184 struct signal_struct *signal = current->signal; in get_signal() local
2207 if (unlikely(signal->flags & SIGNAL_CLD_MASK)) { in get_signal()
2210 if (signal->flags & SIGNAL_CLD_CONTINUED) in get_signal()
2215 signal->flags &= ~SIGNAL_CLD_MASK; in get_signal()
2295 if (unlikely(signal->flags & SIGNAL_UNKILLABLE) && in get_signal()
2412 sigandsets(&retarget, &tsk->signal->shared_pending.signal, which); in retarget_shared_pending()
2445 if (thread_group_empty(tsk) || signal_group_exit(tsk->signal)) { in exit_signals()
2664 sigorsets(set, ¤t->pending.signal, in do_sigpending()
2665 ¤t->signal->shared_pending.signal); in do_sigpending()
3093 flush_sigqueue_mask(&mask, ¤t->signal->shared_pending); in kernel_sigaction()
3134 flush_sigqueue_mask(&mask, &p->signal->shared_pending); in do_sigaction()
3532 SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler) in SYSCALL_DEFINE2() argument