1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include <linux/types.h> #include <linux/signal.h> #include <signal.h> extern int exit(int code) __attribute__ ((noreturn)); void abort() { sigset_t t; if (!sigemptyset(&t) && !sigaddset(&t, SIGABRT)) sigprocmask(SIG_UNBLOCK, &t, 0); while (1) if (raise(SIGABRT)) exit(127); }