Lines Matching refs:sig

59 	int	sig;  in iu_eh_create()  local
73 for (sig = 0; sig < NSIG; sig++) { in iu_eh_create()
74 eh->iueh_sig_info[sig].iues_pending = B_FALSE; in iu_eh_create()
75 eh->iueh_sig_info[sig].iues_handler = NULL; in iu_eh_create()
76 eh->iueh_sig_info[sig].iues_data = NULL; in iu_eh_create()
94 int sig; in iu_eh_destroy() local
96 for (sig = 0; sig < NSIG; sig++) in iu_eh_destroy()
97 if (signal_to_eh[sig] == eh) in iu_eh_destroy()
98 (void) iu_eh_unregister_signal(eh, sig, NULL); in iu_eh_destroy()
272 int n_lit, timeout, sig, saved_errno; in iu_handle_events() local
297 for (sig = 0; sig < NSIG; sig++) { in iu_handle_events()
298 if (eh->iueh_sig_info[sig].iues_pending) { in iu_handle_events()
299 eh->iueh_sig_info[sig].iues_pending = in iu_handle_events()
301 eh->iueh_sig_info[sig].iues_handler(eh, in iu_handle_events()
302 sig, in iu_handle_events()
303 eh->iueh_sig_info[sig].iues_data); in iu_handle_events()
364 post_signal(int sig) in post_signal() argument
366 if (signal_to_eh[sig] != NULL) in post_signal()
367 signal_to_eh[sig]->iueh_sig_info[sig].iues_pending = B_TRUE; in post_signal()
381 iu_eh_register_signal(iu_eh_t *eh, int sig, iu_eh_sighandler_t *handler, in iu_eh_register_signal() argument
386 if (sig < 0 || sig >= NSIG || signal_to_eh[sig] != NULL) in iu_eh_register_signal()
392 (void) sigaddset(&act.sa_mask, sig); /* used for sigprocmask() */ in iu_eh_register_signal()
394 if (sigaction(sig, &act, NULL) == -1) in iu_eh_register_signal()
399 eh->iueh_sig_info[sig].iues_data = data; in iu_eh_register_signal()
400 eh->iueh_sig_info[sig].iues_handler = handler; in iu_eh_register_signal()
401 signal_to_eh[sig] = eh; in iu_eh_register_signal()
403 (void) sigaddset(&eh->iueh_sig_regset, sig); in iu_eh_register_signal()
418 iu_eh_unregister_signal(iu_eh_t *eh, int sig, void **datap) in iu_eh_unregister_signal() argument
422 if (sig < 0 || sig >= NSIG || signal_to_eh[sig] != eh) in iu_eh_unregister_signal()
425 if (signal(sig, SIG_DFL) == SIG_ERR) in iu_eh_unregister_signal()
429 *datap = eh->iueh_sig_info[sig].iues_data; in iu_eh_unregister_signal()
432 (void) sigaddset(&set, sig); in iu_eh_unregister_signal()
435 eh->iueh_sig_info[sig].iues_data = NULL; in iu_eh_unregister_signal()
436 eh->iueh_sig_info[sig].iues_handler = NULL; in iu_eh_unregister_signal()
437 eh->iueh_sig_info[sig].iues_pending = B_FALSE; in iu_eh_unregister_signal()
438 signal_to_eh[sig] = NULL; in iu_eh_unregister_signal()
440 (void) sigdelset(&eh->iueh_sig_regset, sig); in iu_eh_unregister_signal()