summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/abort.c
blob: e6374c5acc5cebad89c98b7a8c91f249fa6b3e36 (plain)
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);
}