summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/abort.c
diff options
context:
space:
mode:
authormarc <>2002-11-03 23:58:39 +0000
committermarc <>2002-11-03 23:58:39 +0000
commitc8b772af00b03eb1dd9425663fd4b7f60c9693bb (patch)
tree2206a8dcf3012ad649fe0287a808260b5bd519ea /src/lib/libc/stdlib/abort.c
parentc64ae263713a52181fce5e72d090dfc2a7b7b008 (diff)
downloadopenbsd-c8b772af00b03eb1dd9425663fd4b7f60c9693bb.tar.gz
openbsd-c8b772af00b03eb1dd9425663fd4b7f60c9693bb.tar.bz2
openbsd-c8b772af00b03eb1dd9425663fd4b7f60c9693bb.zip
back out previous patch.. there are still some vax/m68k issues
Diffstat (limited to 'src/lib/libc/stdlib/abort.c')
-rw-r--r--src/lib/libc/stdlib/abort.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/abort.c b/src/lib/libc/stdlib/abort.c
index 6fffe3df7c..7252cd8a8b 100644
--- a/src/lib/libc/stdlib/abort.c
+++ b/src/lib/libc/stdlib/abort.c
@@ -32,7 +32,7 @@
32 */ 32 */
33 33
34#if defined(LIBC_SCCS) && !defined(lint) 34#if defined(LIBC_SCCS) && !defined(lint)
35static char *rcsid = "$OpenBSD: abort.c,v 1.9 2002/11/03 20:36:43 marc Exp $"; 35static char *rcsid = "$OpenBSD: abort.c,v 1.10 2002/11/03 23:58:39 marc Exp $";
36#endif /* LIBC_SCCS and not lint */ 36#endif /* LIBC_SCCS and not lint */
37 37
38#include <signal.h> 38#include <signal.h>
@@ -55,7 +55,11 @@ abort()
55 * any errors -- X311J doesn't allow abort to return anyway. 55 * any errors -- X311J doesn't allow abort to return anyway.
56 */ 56 */
57 sigdelset(&mask, SIGABRT); 57 sigdelset(&mask, SIGABRT);
58#ifdef _THREAD_SAFE
58 (void)_thread_sys_sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL); 59 (void)_thread_sys_sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
60#else /* _THREAD_SAFE */
61 (void)sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
62#endif /* _THREAD_SAFE */
59 63
60 /* 64 /*
61 * POSIX requires we flush stdio buffers on abort 65 * POSIX requires we flush stdio buffers on abort
@@ -76,7 +80,11 @@ abort()
76 * it again, only harder. 80 * it again, only harder.
77 */ 81 */
78 (void)signal(SIGABRT, SIG_DFL); 82 (void)signal(SIGABRT, SIG_DFL);
83#ifdef _THREAD_SAFE
79 (void)_thread_sys_sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL); 84 (void)_thread_sys_sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
85#else /* _THREAD_SAFE */
86 (void)sigprocmask(SIG_SETMASK, &mask, (sigset_t *)NULL);
87#endif /* _THREAD_SAFE */
80 (void)kill(getpid(), SIGABRT); 88 (void)kill(getpid(), SIGABRT);
81 exit(1); 89 exit(1);
82} 90}