summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/exit/abort.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/exit/abort.c b/src/exit/abort.c
index 203dd35c..ecc0f735 100644
--- a/src/exit/abort.c
+++ b/src/exit/abort.c
@@ -1,10 +1,14 @@
#include <stdlib.h>
#include <signal.h>
#include "syscall.h"
+#include "pthread_impl.h"
+#include "atomic.h"
_Noreturn void abort(void)
{
raise(SIGABRT);
+ __block_all_sigs(0);
+ a_crash();
raise(SIGKILL);
- for (;;);
+ _Exit(127);
}