Lines Matching refs:sig

61 	int	sig;
75 for (sig = 0; sig < NSIG; sig++) {
76 eh->iueh_sig_info[sig].iues_pending = B_FALSE;
77 eh->iueh_sig_info[sig].iues_handler = NULL;
78 eh->iueh_sig_info[sig].iues_data = NULL;
96 int sig;
98 for (sig = 0; sig < NSIG; sig++)
99 if (signal_to_eh[sig] == eh)
100 (void) iu_eh_unregister_signal(eh, sig, NULL);
274 int n_lit, timeout, sig, saved_errno;
299 for (sig = 0; sig < NSIG; sig++) {
300 if (eh->iueh_sig_info[sig].iues_pending) {
301 eh->iueh_sig_info[sig].iues_pending =
303 eh->iueh_sig_info[sig].iues_handler(eh,
304 sig,
305 eh->iueh_sig_info[sig].iues_data);
366 post_signal(int sig)
368 if (signal_to_eh[sig] != NULL)
369 signal_to_eh[sig]->iueh_sig_info[sig].iues_pending = B_TRUE;
383 iu_eh_register_signal(iu_eh_t *eh, int sig, iu_eh_sighandler_t *handler,
388 if (sig < 0 || sig >= NSIG || signal_to_eh[sig] != NULL)
394 (void) sigaddset(&act.sa_mask, sig); /* used for sigprocmask() */
396 if (sigaction(sig, &act, NULL) == -1)
401 eh->iueh_sig_info[sig].iues_data = data;
402 eh->iueh_sig_info[sig].iues_handler = handler;
403 signal_to_eh[sig] = eh;
405 (void) sigaddset(&eh->iueh_sig_regset, sig);
420 iu_eh_unregister_signal(iu_eh_t *eh, int sig, void **datap)
424 if (sig < 0 || sig >= NSIG || signal_to_eh[sig] != eh)
427 if (signal(sig, SIG_DFL) == SIG_ERR)
431 *datap = eh->iueh_sig_info[sig].iues_data;
434 (void) sigaddset(&set, sig);
437 eh->iueh_sig_info[sig].iues_data = NULL;
438 eh->iueh_sig_info[sig].iues_handler = NULL;
439 eh->iueh_sig_info[sig].iues_pending = B_FALSE;
440 signal_to_eh[sig] = NULL;
442 (void) sigdelset(&eh->iueh_sig_regset, sig);