diff options
| author | David Xu <davidxu@FreeBSD.org> | 2003-08-16 11:43:57 +0000 | 
|---|---|---|
| committer | David Xu <davidxu@FreeBSD.org> | 2003-08-16 11:43:57 +0000 | 
| commit | 1d29b4868359c425730ab581f279edf5388c1338 (patch) | |
| tree | d8ea508143066701713f4730306865d82b5fc852 /lib/libc/stdlib/abort.c | |
| parent | 78a49a45bc3191c19d85c576090fd1a598d78540 (diff) | |
Notes
Diffstat (limited to 'lib/libc/stdlib/abort.c')
| -rw-r--r-- | lib/libc/stdlib/abort.c | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/lib/libc/stdlib/abort.c b/lib/libc/stdlib/abort.c index 2adb081cbc34..36cd15ba62bb 100644 --- a/lib/libc/stdlib/abort.c +++ b/lib/libc/stdlib/abort.c @@ -37,19 +37,16 @@ static char sccsid[] = "@(#)abort.c	8.1 (Berkeley) 6/4/93";  #include <sys/cdefs.h>  __FBSDID("$FreeBSD$"); +#include "namespace.h"  #include <signal.h>  #include <stdlib.h>  #include <stddef.h>  #include <unistd.h>  #include <pthread.h> +#include "un-namespace.h"  void (*__cleanup)(); -/* XXX - why are these declarations here? */ -extern int	__sys_sigprocmask(int, const sigset_t *, sigset_t *); -extern int	__sys_sigaction(int, const struct sigaction *, -		    struct sigaction *); -  void  abort()  { @@ -68,8 +65,8 @@ abort()  	 * any errors -- ISO C doesn't allow abort to return anyway.  	 */  	sigdelset(&act.sa_mask, SIGABRT); -	(void)__sys_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); -	(void)kill(getpid(), SIGABRT); +	(void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); +	(void)raise(SIGABRT);  	/*  	 * If SIGABRT was ignored, or caught and the handler returns, do @@ -78,9 +75,9 @@ abort()  	act.sa_handler = SIG_DFL;  	act.sa_flags = 0;  	sigfillset(&act.sa_mask); -	(void)__sys_sigaction(SIGABRT, &act, NULL); +	(void)_sigaction(SIGABRT, &act, NULL);  	sigdelset(&act.sa_mask, SIGABRT); -	(void)__sys_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); -	(void)kill(getpid(), SIGABRT); +	(void)_sigprocmask(SIG_SETMASK, &act.sa_mask, NULL); +	(void)raise(SIGABRT);  	exit(1);  }  | 
