Lines Matching defs:signo
15 #define SIGNAL_IS_TERMINAL(signo) \
16 ((signo) == SIGINT || (signo) == SIGQUIT || (signo) == SIGTERM)
52 const char *lib_signal_code_to_str(int signo, int sicode)
73 switch (signo) {
101 static void sig_handler(int signo, siginfo_t *si, void *context ATTR_UNUSED)
103 static void sig_handler(int signo)
119 tmp_si.si_signo = signo;
125 if (signo < 0 || signo > MAX_SIGNAL_VALUE)
128 if (SIGNAL_IS_TERMINAL(signo))
135 for (h = signal_handlers[signo]; h != NULL; h = h->next) {
138 else if (pending_signals[signo].si_signo == 0) {
139 pending_signals[signo] = *si;
151 static void sig_ignore(int signo ATTR_UNUSED, siginfo_t *si ATTR_UNUSED,
154 static void sig_ignore(int signo ATTR_UNUSED)
209 signal_shadow(int signo, const siginfo_t *si)
221 if (sis[i].si_signo == signo)
234 int signo;
268 for (signo = 0; signo < MAX_SIGNAL_VALUE; signo++) {
271 if (signals[signo].si_signo == 0)
274 for (h = signal_handlers[signo]; h != NULL; h = h->next) {
287 h->handler(&signals[signo], h->context);
293 signal_shadow(signo, &signals[signo]);
349 static void lib_signals_set(int signo, enum libsig_flags flags)
364 if (sigaction(signo, &act, NULL) < 0)
365 i_fatal("sigaction(%d): %m", signo);
368 void lib_signals_set_handler(int signo, enum libsig_flags flags,
375 if (signo < 0 || signo > MAX_SIGNAL_VALUE) {
377 signo, MAX_SIGNAL_VALUE);
380 if (signal_handlers[signo] == NULL && signals_initialized)
381 lib_signals_set(signo, flags);
390 h->next = signal_handlers[signo];
391 signal_handlers[signo] = h;
406 void lib_signals_ignore(int signo, bool restart_syscalls)
410 if (signo < 0 || signo > MAX_SIGNAL_VALUE) {
412 signo, MAX_SIGNAL_VALUE);
415 i_assert(signal_handlers[signo] == NULL);
432 if (sigaction(signo, &act, NULL) < 0)
433 i_fatal("sigaction(%d): %m", signo);
436 void lib_signals_unset_handler(int signo, signal_handler_t *handler,
441 for (p = &signal_handlers[signo]; *p != NULL; p = &(*p)->next) {
451 signo, (void *)handler, context);
454 void lib_signals_switch_ioloop(int signo,
459 for (h = signal_handlers[signo]; h != NULL; h = h->next) {
471 signo, (void *)handler, context);