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