Lines Matching refs:sig
30 rt_inline rt_err_t valid_signo_check(unsigned long sig) in valid_signo_check() argument
32 return sig <= _LWP_NSIG ? 0 : -RT_EINVAL; in valid_signo_check()
81 dset->sig[3] = set0->sig[3] | set1->sig[3]; in _sigorsets()
82 dset->sig[2] = set0->sig[2] | set1->sig[2]; in _sigorsets()
84 dset->sig[1] = set0->sig[1] | set1->sig[1]; in _sigorsets()
86 dset->sig[0] = set0->sig[0] | set1->sig[0]; in _sigorsets()
97 dset->sig[3] = set0->sig[3] & set1->sig[3]; in _sigandsets()
98 dset->sig[2] = set0->sig[2] & set1->sig[2]; in _sigandsets()
100 dset->sig[1] = set0->sig[1] & set1->sig[1]; in _sigandsets()
102 dset->sig[0] = set0->sig[0] & set1->sig[0]; in _sigandsets()
113 dset->sig[3] = ~set->sig[3]; in _signotsets()
114 dset->sig[2] = ~set->sig[2]; in _signotsets()
116 dset->sig[1] = ~set->sig[1]; in _signotsets()
118 dset->sig[0] = ~set->sig[0]; in _signotsets()
126 unsigned long sig = _sig - 1; in _sigaddset() local
130 set->sig[0] |= 1UL << sig; in _sigaddset()
134 set->sig[sig / _LWP_NSIG_BPW] |= 1UL << (sig % _LWP_NSIG_BPW); in _sigaddset()
140 unsigned long sig = _sig - 1; in _sigdelset() local
144 set->sig[0] &= ~(1UL << sig); in _sigdelset()
148 set->sig[sig / _LWP_NSIG_BPW] &= ~(1UL << (sig % _LWP_NSIG_BPW)); in _sigdelset()
157 return (set->sig[3] | set->sig[2] | in _sigisemptyset()
158 set->sig[1] | set->sig[0]) == 0; in _sigisemptyset()
160 return (set->sig[1] | set->sig[0]) == 0; in _sigisemptyset()
162 return set->sig[0] == 0; in _sigisemptyset()
170 unsigned long sig = _sig - 1; in _sigismember() local
174 return 1 & (set->sig[0] >> sig); in _sigismember()
178 return 1 & (set->sig[sig / _LWP_NSIG_BPW] >> (sig % _LWP_NSIG_BPW)); in _sigismember()
185 int sig = 0; in _next_signal() local
187 s = pending->sig; in _next_signal()
188 m = mask->sig; in _next_signal()
193 sig = rt_hw_ffz(~x) + 1; in _next_signal()
194 return sig; in _next_signal()
205 sig = rt_hw_ffz(~x) + i*_LWP_NSIG_BPW + 1; in _next_signal()
214 sig = rt_hw_ffz(~x) + _LWP_NSIG_BPW + 1; in _next_signal()
222 return sig; in _next_signal()
451 rt_err_t lwp_signal_init(struct lwp_signal *sig) in lwp_signal_init() argument
455 sig->real_timer = LWP_SIG_INVALID_TIMER; in lwp_signal_init()
457 memset(&sig->sig_dispatch_thr, 0, sizeof(sig->sig_dispatch_thr)); in lwp_signal_init()
459 memset(&sig->sig_action, 0, sizeof(sig->sig_action)); in lwp_signal_init()
460 memset(&sig->sig_action_nodefer, 0, sizeof(sig->sig_action_nodefer)); in lwp_signal_init()
461 memset(&sig->sig_action_onstack, 0, sizeof(sig->sig_action_onstack)); in lwp_signal_init()
462 memset(&sig->sig_action_restart, 0, sizeof(sig->sig_action_restart)); in lwp_signal_init()
463 memset(&sig->sig_action_siginfo, 0, sizeof(sig->sig_action_siginfo)); in lwp_signal_init()
464 memset(&sig->sig_action_nocldstop, 0, sizeof(sig->sig_action_nocldstop)); in lwp_signal_init()
465 memset(&sig->sig_action_nocldwait, 0, sizeof(sig->sig_action_nocldwait)); in lwp_signal_init()
466 lwp_sigqueue_init(&sig->sig_queue); in lwp_signal_init()
592 static int _do_signal_wakeup(rt_thread_t thread, int sig);
804 static int _do_signal_wakeup(rt_thread_t thread, int sig) in _do_signal_wakeup() argument
808 if (!_sigismember(&thread->signal.sigset_mask, sig)) in _do_signal_wakeup()
823 else if ((sig == SIGKILL || sig == SIGSTOP) && in _do_signal_wakeup()
1103 unsigned long sig = _sig - 1; in lwp_sigisign() local
1105 return lwp->signal.sig_action[sig] == LWP_SIG_ACT_IGN; in lwp_sigisign()
1255 void lwp_thread_sighandler_set(int sig, lwp_sighandler_t func) in lwp_thread_sighandler_set() argument
1259 if (sig == 0 || sig > _LWP_NSIG) in lwp_thread_sighandler_set()
1262 rt_thread_self()->signal_handler[sig - 1] = func; in lwp_thread_sighandler_set()
1336 int sig; in lwp_thread_signal_timedwait() local
1351 sig = _dequeue_signal(thread, &dontwait_sigset, usi); in lwp_thread_signal_timedwait()
1353 if (sig) in lwp_thread_signal_timedwait()
1354 return sig; in lwp_thread_signal_timedwait()
1408 sig = _dequeue_signal(thread, &dontwait_sigset, usi); in lwp_thread_signal_timedwait()
1411 return sig ? sig : ret; in lwp_thread_signal_timedwait()