1 --- abort.c.orig 2007-04-17 01:31:46.000000000 -0700
2 +++ abort.c 2007-04-17 01:36:22.000000000 -0700
5 #include "un-namespace.h"
8 +extern void (*__cleanup)();
9 +extern void __abort(void) __dead2;
11 +#define TIMEOUT 10000 /* 10 milliseconds */
16 sigdelset(&act.sa_mask, SIGABRT);
17 (void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL);
19 + usleep(TIMEOUT); /* give time for signal to happen */
22 * If SIGABRT was ignored, or caught and the handler returns, do
23 * it again, only harder.
28 +__private_extern__ void
31 + struct sigaction act;
33 act.sa_handler = SIG_DFL;
35 sigfillset(&act.sa_mask);
37 sigdelset(&act.sa_mask, SIGABRT);
38 (void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL);
41 + usleep(TIMEOUT); /* give time for signal to happen */
42 + __builtin_trap(); /* never exit normally */