Пример #1
0
core_handler(int signo
#ifdef SA_SIGINFO
	     ,
	     siginfo_t *siginfo, void *context
#endif
	     )
{
	/* make sure we don't hang in here.  default for SIGALRM is terminate.
	 * - if we're in backtrace for more than a second, abort. */
	struct sigaction sa_default = {.sa_handler = SIG_DFL};
	sigaction(SIGALRM, &sa_default, NULL);

	sigset_t sigset;
	sigemptyset(&sigset);
	sigaddset(&sigset, SIGALRM);
	sigprocmask(SIG_UNBLOCK, &sigset, NULL);

	alarm(1);

	zlog_signal(signo, "aborting..."
#ifdef SA_SIGINFO
		    ,
		    siginfo, program_counter(context)
#endif
			    );
	/* dump memory stats on core */
	log_memstats(stderr, "core_handler");
	abort();
}
Пример #2
0
core_handler(int signo
#ifdef SA_SIGINFO
	     , siginfo_t *siginfo, void *context
#endif
	    )
{
  zlog_signal(signo, "aborting..."
#ifdef SA_SIGINFO
	      , siginfo, program_counter(context)
#endif
	     );
  abort();
}
Пример #3
0
exit_handler(int signo
#ifdef SA_SIGINFO
	     , siginfo_t *siginfo, void *context
#endif
	    )
{
  zlog_signal(signo, "exiting..."
#ifdef SA_SIGINFO
	      , siginfo, program_counter(context)
#endif
	     );
  _exit(128+signo);
}