3 #include "signal_exit.h"
5 static int sigs[] = {SIGINT, SIGKILL, SIGTERM, SIGSEGV, SIGFPE};
6 static struct ev_signal signals[5];
8 static void signal_cb(EV_P_ ev_signal *w, int revents)
10 fprintf(stderr, "signal caught, terminating\n");
14 ev_break(loop, EVBREAK_ALL);
17 signal(SIGABRT, SIG_DFL);
23 void set_signal_exit(struct ev_loop *loop)
25 for (int i = 0; i < 5; i++) {
26 ev_signal_init(&signals[i], signal_cb, sigs[i]);
27 ev_signal_start(loop, &signals[i]);