diff options
Diffstat (limited to 'libc/stdlib')
-rw-r--r-- | libc/stdlib/abort.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libc/stdlib/abort.c b/libc/stdlib/abort.c index e34c86778..74b0dca50 100644 --- a/libc/stdlib/abort.c +++ b/libc/stdlib/abort.c @@ -90,6 +90,7 @@ void abort(void) /* Try to suicide with a SIGABRT. */ if (been_there_done_that == 0) { been_there_done_that++; +abort_it: UNLOCK; raise(SIGABRT); LOCK; @@ -105,6 +106,8 @@ void abort(void) __sigfillset (&act.sa_mask); act.sa_flags = 0; sigaction (SIGABRT, &act, NULL); + + goto abort_it; } /* Still here? Try to suicide with an illegal instruction */ @@ -125,4 +128,3 @@ void abort(void) ABORT_INSTRUCTION; } } - |