Exemplo n.º 1
0
void set_signals(void) {
    /* we don't care about SIGPIPE, we notice it in select() and write() */
    our_signal(SIGPIPE, SIG_IGN);

    /* didn't manage to lose that control tty, did we? Ignore it anyway. */
    our_signal(SIGHUP, SIG_IGN);
}
Exemplo n.º 2
0
void
set_dumper_signals(void)
{
	our_signal(SIGPIPE, SIG_IGN); /* Ignore Blocked Pipe */
	our_signal(SIGHUP,  SIG_IGN); /* Ignore Terminal Hangup */
	our_signal(SIGCHLD, SIG_IGN); /* Ignore Child termination */
	our_signal(SIGFPE,  SIG_IGN); /* Ignore FP exceptions */
	our_signal(SIGUSR1, SIG_IGN); /* Ignore SIGUSR1 */
	our_signal(SIGUSR2, SIG_IGN); /* Ignore SIGUSR2 */
	our_signal(SIGINT,  SIG_DFL); /* Take Interrupt signal and die! */
	our_signal(SIGTERM, SIG_DFL); /* Take Terminate signal and die! */
	our_signal(SIGSEGV, SIG_DFL); /* Take Segfault and die! */
#ifdef SIGTRAP
	our_signal(SIGTRAP, SIG_DFL);
#endif
#ifdef SIGIOT
	our_signal(SIGIOT, SIG_DFL);
#endif
#ifdef SIGEMT
	our_signal(SIGEMT, SIG_DFL);
#endif
#ifdef SIGBUS
	our_signal(SIGBUS, SIG_DFL);
#endif
#ifdef SIGSYS
	our_signal(SIGSYS, SIG_DFL);
#endif
#ifdef SIGXCPU
	our_signal(SIGXCPU, SIG_IGN);  /* CPU usage limit exceeded */
#endif
#ifdef SIGXFSZ
	our_signal(SIGXFSZ, SIG_IGN);  /* Exceeded file size limit */
#endif
#ifdef SIGVTALRM
	our_signal(SIGVTALRM, SIG_DFL);
#endif
}
Exemplo n.º 3
0
static void
set_sigs_intern(int bail)
{
	/* we don't care about SIGPIPE, we notice it in select() and write() */
	our_signal(SIGPIPE, SET_IGN);

	/* didn't manage to lose that control tty, did we? Ignore it anyway. */
	our_signal(SIGHUP, SET_IGN);

#ifdef SPAWN_HOST_RESOLVER
	/* resolver's exited. Better clean up the mess our child leaves */
	our_signal(SIGCHLD, bail ? SIG_DFL : sig_reap);
#endif
	/* standard termination signals */
	our_signal(SIGINT, SET_BAIL);
	our_signal(SIGTERM, SET_BAIL);

	/* catch these because we might as well */
/*  our_signal(SIGQUIT, SET_BAIL);  */
#ifdef SIGTRAP
	our_signal(SIGTRAP, SET_IGN);
#endif
#ifdef SIGIOT
	our_signal(SIGIOT, SET_BAIL);
#endif
#ifdef SIGEMT
	our_signal(SIGEMT, SET_BAIL);
#endif
#ifdef SIGBUS
	our_signal(SIGBUS, SET_BAIL);
#endif
#ifdef SIGSYS
	our_signal(SIGSYS, SET_BAIL);
#endif
	our_signal(SIGFPE, SET_BAIL);
	our_signal(SIGSEGV, SET_BAIL);
	our_signal(SIGTERM, bail ? SET_BAIL : sig_shutdown);
#ifdef SIGXCPU
	our_signal(SIGXCPU, SET_BAIL);
#endif
#ifdef SIGXFSZ
	our_signal(SIGXFSZ, SET_BAIL);
#endif
#ifdef SIGVTALRM
	our_signal(SIGVTALRM, SET_BAIL);
#endif
#ifdef SIGEMERG
	/* Clean shutdown signal (may be used with UPS software when power goes down...) */
	our_signal(SIGUSR2, sig_emerg);
#else
	our_signal(SIGUSR2, SET_BAIL);
#endif

	/* status dumper (predates "WHO" command) */
	our_signal(SIGUSR1, bail ? SIG_DFL : sig_dump_status);
}
Exemplo n.º 4
0
static void set_sigs_intern(int bail)
{
    /* we don't care about SIGPIPE, we notice it in select() and write() */
    our_signal(SIGPIPE, SET_IGN);

    /* didn't manage to lose that control tty, did we? Ignore it anyway. */
    our_signal(SIGHUP, SET_IGN);

    /* resolver's exited. Better clean up the mess our child leaves */
    our_signal(SIGCHLD, bail ? SIG_DFL : sig_reap_resolver);

#ifdef SIGTRAP
    our_signal(SIGTRAP, SET_BAIL);
#endif
#ifdef SIGIOT
    /* our_signal(SIGIOT, SET_BAIL); */ /* This is SIGABRT, want cores from it. CrT */
#endif
#ifdef SIGEMT
    our_signal(SIGEMT, SET_BAIL);
#endif
#ifdef SIGBUS
    our_signal(SIGBUS, SET_BAIL);
#endif
#ifdef SIGSYS
    our_signal(SIGSYS, SET_BAIL);
#endif
    our_signal(SIGFPE, SET_BAIL);
    our_signal(SIGSEGV, SET_BAIL);
    our_signal(SIGTERM, SET_BAIL);
#ifdef SIGXCPU
    our_signal(SIGXCPU, SET_BAIL);
#endif
#ifdef SIGXFSZ
    our_signal(SIGXFSZ, SET_BAIL);
#endif
#ifdef SIGVTALRM
    our_signal(SIGVTALRM, SET_BAIL);
#endif
    our_signal(SIGUSR1, SET_SHUT);
    our_signal(SIGUSR2, SET_SHUT);

    /* standard termination signals */
    our_signal(SIGINT, SET_SHUT);
    our_signal(SIGTERM, SET_SHUT);

    /* catch these because we might as well */
    our_signal(SIGQUIT, SET_SHUT);
}